Resumir los datos de respuesta al tipo de modelado de respuesta múltipleTengo una tabla de lotes y obleas, a las que se les ha asignado un código de respuesta basado en el rendimiento (rojo, verde, azul; no es mi elección, pero es con lo que tengo que trabajar). Hay combinaciones de lotes y obleas que tienen múltiples respuestas asignadas. Lo que quiero hacer es resumir la tabla por lote y oblea, y donde una combinación tiene múltiples respuestas, agregar todos los valores a la variable.
De:
A:

Re: Resumir datos de respuesta al tipo de modelado de respuesta múltipleTienes razón en que:
dt2 << selectRows(r2);
también funciona Es posible que en 2012 'selectRows' necesitara una matriz. Pero es más probable que solo pensara que lo hizo. . .
Re: Resumir datos de respuesta al tipo de modelado de respuesta múltiplePregunta: @ian_jmp ¿Puedes explicar lo que está pasando con: dt2 << seleccionarFilas(Matriz({r2})); ? ¿Por qué la matriz para un solo entero?
Re: Resumir datos de respuesta al tipo de modelado de respuesta múltipleEso lo hizo, aunque todavía necesito probar el guión de Ian. Usé Tabulate and Recode para lograr el primer paso que hiciste con stack, pero terminé con el mismo resultado para el paso dos, que no había usado antes. De nuevo, gracias por la ayuda.
Re: Resumir datos de respuesta al tipo de modelado de respuesta múltipleno lo hice Gracias por la anotación. Nunca habría asociado Consumer Research con el análisis de datos de monitoreo de control de procesos de una fundición de semiconductores
)
Re: Resumir datos de respuesta al tipo de modelado de respuesta múltipleGracias, le daré una oportunidad.
Re: Resumir datos de respuesta al tipo de modelado de respuesta múltipleGracias, esperaba que me faltara un proceso de un solo paso, pero esto me llevará allí.
Re: Resumir datos de respuesta al tipo de modelado de respuesta múltipleHas visto Ayuda > Libros > Investigación del consumidor > Análisis de Respuesta Categórica ¿capítulo? La plataforma categórica maneja muy bien el tipo de respuesta múltiple y proporciona muchas formas de resumir y visualizar dichos datos.
Re: Resumir datos de respuesta al tipo de modelado de respuesta múltipleHola @MarkDayton ,
Tal vez estaba buscando una solución con guión, en cuyo caso, puede dejar de leer... @ian_jmp funciona perfectamente. Sin embargo, si desea hacer esto de forma interactiva, lo siguiente debería funcionar para usted:
1. Use Tablas->Dividir (coloque Respuesta en los roles Dividir por y Dividir columnas y Lote, Oblea en el rol Agrupar por):

2. En la nueva tabla, seleccione las nuevas columnas y luego use el menú Cols->Utilities->Combine Columns para crear la nueva columna de respuesta múltiple:

3. Presione eliminar para eliminar las columnas seleccionadas.
Espero que esto ayude.
Re: Resumir datos de respuesta al tipo de modelado de respuesta múltipleTenía un código antiguo que podría ayudar. Quizás hay una mejor manera ahora:
// ian.cox@jmp.com: 23Jun2012
NamesDefaultToHere(1);
// **********************************************************************************************
// Given a table (dt), a list of grouping columns therein (gCols), and a character response
// column (rCol), aggregates the latter into a multiple response column
// **********************************************************************************************
mrSummarize =
Function({dt, gCols, rCol}, {Default Local},
// Summarize using the specified grouping columns to get dt2
dt2 = dt << Summary(Group(gCols));
dt2 << setName("Multiple Response Summary of "||(dt << getName));
// Loop over the rows of dt2 and build a new column with the multiple response values:
// Exploit the linking between dt2 and dt to do this
dt2 << newColumn(rCol, Expression, None);
for(r2=1, r2<=NRow(dt2), r2++,
dt2 << clearSelect;
dt2 << selectRows(Matrix({r2}));
r = dt << getSelectedRows;
// Response values are initially put in a list to make getting the unique values easier
mr2 = {};
for(i=1, i<=NRow(r), i++,
InsertInto(mr2, Column(dt, rCol)[r[i]]);
);
// Force the values in the list to be unique
mr2 = associativeArray(mr2) << getKeys;
// Put the list of unique values in the table
Column(dt2, rCol)[r2] = mr2;
);
dt2 << clearSelect;
// Now need to 'unpack' each list to get values suitable for the 'Multiple Response' modeling type
allLists = Column(dt2, rCol) << getValues;
for(r2=1, r2<=NRow(dt2), r2++,
mr2 = allLists[r2];
for(i=1, i<=NItems(mr2), i++,
if(i==1,
str2 = mr2[i],
str2 = str2 || ", " || mr2[i];
);
);
allLists[r2] = str2;
);
Column(dt2, rCol) << setDataType("Character");
Column(dt2, rCol) << setModelingType("Multiple Response");
Column(dt2, rCol) << setValues(allLists);
dt2;
);
// Sample table
dt = New Table( "Data",
Add Rows( 3 ),
New Column( "Lot",
Numeric,
"Nominal",
Format( "Best", 12 ),
Set Values( [1, 1, 2] )
),
New Column( "Wafer",
Numeric,
"Nominal",
Format( "Best", 12 ),
Set Values( [2, 2, 1] )
),
New Column( "Response",
Character,
"Nominal",
Set Values( {"Green", "Red", "Blue"} )
)
);
// Try out the function
mrSummarize(dt, {"Lot", "Wafer"}, "Response");