Résumer les données de réponse au type de modélisation à réponses multiplesJ'ai une table de lots et de plaquettes, auxquels un code de réponse basé sur le rendement (rouge, vert, bleu; pas mon choix, mais c'est avec quoi je dois travailler) a été attribué. Il existe des combinaisons de lots et de plaquettes auxquelles plusieurs réponses sont attribuées. Ce que je veux faire, c'est résumer le tableau par lot et plaquette, et lorsqu'une combinaison a plusieurs réponses, ajouter toutes les valeurs à la variable.
Depuis:
À:

Re : Résumer les données de réponse au type de modélisation à réponses multiplesVous avez raison :
dt2 << selectRows(r2);
fonctionne aussi. Il est possible qu'en 2012, 'selectRows' ait eu besoin d'une matrice. Mais il est plus probable que je pensais juste que c'était le cas. . .
Re : Résumer les données de réponse au type de modélisation à réponses multiplesQuestion: @ian_jmp pouvez-vous expliquer ce qui se passe avec: dt2 << selectRows(Matrix({r2})); ? Pourquoi la matrice pour un seul entier ?
Re : Résumer les données de réponse au type de modélisation à réponses multiplesCela l'a fait, même si j'ai encore besoin d'essayer le script de Ian. J'ai utilisé Tabulate et Recode pour accomplir la première étape que vous avez faite avec stack, mais j'ai fini avec le même résultat pour la deuxième étape, que je n'avais pas utilisée auparavant. Encore une fois, merci pour l'aide.
Re : Résumer les données de réponse au type de modélisation à réponses multiplesJe n'avais pas. Merci pour le pointeur. Je n'aurais jamais associé Consumer Research à l'analyse des données de contrôle de contrôle de processus d'une fonderie de semi-conducteurs
)
Re : Résumer les données de réponse au type de modélisation à réponses multiplesMerci, je vais essayer.
Re : Résumer les données de réponse au type de modélisation à réponses multiplesMerci, j'espérais qu'il y avait un processus en une seule étape qui me manquait, mais cela m'y mènera.
Re : Résumer les données de réponse au type de modélisation à réponses multiplesAvez-vous vu Aide > Livres > Recherche sur les consommateurs > Analyse de réponse catégorique chapitre? La plate-forme catégorielle gère très bien le type de réponse multiple et offre de nombreuses façons de résumer et de visualiser ces données.
Re : Résumer les données de réponse au type de modélisation à réponses multiplesSalut @MarkDayton ,
Peut-être cherchiez-vous une solution scriptée, auquel cas vous pouvez arrêter de lire... @ian_jmp 's fonctionne parfaitement. Cependant, si vous souhaitez le faire de manière interactive, les éléments suivants devraient fonctionner pour vous :
1. Utilisez Tables->Split (placez Response dans les rôles Split By et Split Columns et Lot, Wafer dans le rôle Group By) :

2. Dans le nouveau tableau, sélectionnez les nouvelles colonnes, puis utilisez le menu Cols->Utilities->Combine Columns pour créer la nouvelle colonne de réponses multiples :

3. Appuyez sur Supprimer pour supprimer les colonnes sélectionnées.
J'espère que cela t'aides.
Re : Résumer les données de réponse au type de modélisation à réponses multiplesJ'avais un vieux code qui pourrait aider. Peut-être y a-t-il une meilleure façon maintenant:
// 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");