Fassen Sie Antwortdaten zum Modellierungstyp mit mehreren Antworten zusammenIch habe eine Tabelle mit Chargen und Wafern, denen ein Antwortcode basierend auf der Ausbeute zugewiesen wurde (rot, grün, blau; nicht meine Wahl, aber damit muss ich arbeiten). Es gibt Kombinationen aus Losen und Wafern, denen mehrere Antworten zugeordnet sind. Ich möchte die Tabelle nach Lot und Wafer zusammenfassen und bei einer Kombination mit mehreren Antworten alle Werte zur Variablen hinzufügen.
Aus:
Zu:

Betreff: Antwortdaten zum Modellierungstyp „Mehrfachantwort“ zusammenfassenSie haben Recht, dass:
dt2 << selectRows(r2);
Funktioniert auch. Es ist möglich, dass „selectRows“ im Jahr 2012 eine Matrix benötigte. Aber es ist wahrscheinlicher, dass ich es einfach nur geglaubt habe. . .
Betreff: Antwortdaten zum Modellierungstyp „Mehrfachantwort“ zusammenfassenFrage: @ian_jmp Können Sie erklären, was los ist mit: dt2 << selectRows(Matrix({r2})); ? Warum die Matrix für eine einzelne ganze Zahl?
Betreff: Antwortdaten zum Modellierungstyp „Mehrfachantwort“ zusammenfassenDas hat es geschafft, obwohl ich noch Ians Skript ausprobieren muss. Ich habe „Tabulate“ und „Recode“ verwendet, um den ersten Schritt auszuführen, den Sie mit „Stack“ ausgeführt haben, aber am Ende habe ich für Schritt zwei das gleiche Ergebnis erhalten, das ich zuvor noch nicht verwendet hatte. Nochmals vielen Dank für die Hilfe.
Betreff: Antwortdaten zum Modellierungstyp „Mehrfachantwort“ zusammenfassenDas hatte ich nicht. Danke für den Hinweis. Ich hätte Consumer Research nie mit der Analyse von Prozesskontrollüberwachungsdaten einer Halbleitergießerei in Verbindung gebracht
)
Betreff: Antwortdaten zum Modellierungstyp „Mehrfachantwort“ zusammenfassenDanke, ich werde es versuchen.
Betreff: Antwortdaten zum Modellierungstyp „Mehrfachantwort“ zusammenfassenDanke, ich hatte gehofft, dass mir ein einzelner Schritt fehlt, aber das bringt mich dorthin.
Betreff: Antwortdaten zum Modellierungstyp „Mehrfachantwort“ zusammenfassenHast Du gesehen Helfen > Bücher > Konsumentenforschung > Kategoriale Antwortanalyse Kapitel? Die Categorical-Plattform verarbeitet den Mehrfachantworttyp sehr gut und bietet viele Möglichkeiten, solche Daten zusammenzufassen und zu visualisieren.
Betreff: Antwortdaten zum Modellierungstyp „Mehrfachantwort“ zusammenfassenHallo @MarkDayton ,
Vielleicht haben Sie nach einer Skriptlösung gesucht. In diesem Fall können Sie mit dem Lesen aufhören ... @ian_jmp 's funktioniert perfekt. Wenn Sie dies jedoch interaktiv tun möchten, sollte Folgendes für Sie funktionieren:
1. Verwenden Sie Tabellen->Teilen (platzieren Sie die Antwort in den Rollen „Teilen nach“ und „Spalten teilen“ und „Los, Wafer“ in der Rolle „Gruppieren nach“):

2. Wählen Sie in der neuen Tabelle die neuen Spalten aus und verwenden Sie dann das Menü „Spalten->Dienstprogramme->Spalten kombinieren“, um die neue Spalte mit mehreren Antworten zu erstellen:

3. Drücken Sie die Entf-Taste, um die ausgewählten Spalten zu löschen.
Hoffe das hilft.
Betreff: Antwortdaten zum Modellierungstyp „Mehrfachantwort“ zusammenfassenIch hatte einen alten Code, der helfen könnte. Vielleicht gibt es jetzt einen besseren Weg:
// 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");