Ich habe eine Daten wie folgt und ich möchte es in langes Format konvertieren.R: Konvertieren von Daten von Wide zu Long - mehrere Bedingungen - Fehler erhalten
id count a1 b1 c1 a2 b2 c2 a3 b3 c3 age
1 1 apple 2 3 orange 3 2 beer 2 1 50
1 2 orange 3 2 apple 2 2 beer 2 1 50
2 1 pear 3 2 apple 2 2 orange 2 2 45
[a1, b1, c1], [a2, b2, c2], [a3, b3, c3] ist der Satz von drei Attributen, der Person mit einer zugeordneten ID zugewandt ist, und diese Person kann Gesicht multiple Wahlsituationen mit Zählung, die die i-te Wahlsituation anzeigen. Ich möchte es zu einem langen Format zurück zu ändern, während die anderen Variablen behalten wie folgt aus:
id count a b c age
1 1 apple 2 3 50
1 1 orange 3 2 50
1 1 beer 2 1 50
1 2 orange 3 2 50
1 2 apple 2 2 50
1 2 beer 2 1 50
2 1 pear 3 2 45
2 1 apple 2 2 45
2 1 orange 2 2 45
ich mit den folgenden Befehlen versucht reshape, aber ich verwirrt in Bezug auf, wo mit timevar und Zeiten beschäftigen:
l <- reshape(df,
varying = df[,3:11],
v.names = c("a","b","c"),
timevar = "choice",
times = c("a","b","c"),
direction = "long")
mit den oben genannten Befehlen kann ich nicht das Ergebnis, das ich will, würden herzlichst jede Hilfe zu schätzen wissen!
verwenden können, wenn ich versuchte, heißt es Fehler in .subset (x, j): ungültige Index Typ 'Liste' – lll
Ich habe gerade angefangen eine neue R-Sitzung und führte den Code mit den Daten, die ich gerade hinzugefügt habe, ohne einen Fehler aus. – lmo
Sie müssen die variierenden Gruppen oder die Namen nicht manuell angeben, 'reshape()' kann es erraten 'umformen (dat, idvar = c ("id", "count", "alter"), direction = "long ", variierend = 3: 11, sep =" ")" Das 'sep =" "gibt nur an, dass jedes" a/b/c "und" 1/2/3 "durch nichts" "" getrennt ist, was erlaubt die "timevar" und die "v.names", die abgeleitet werden sollen. – thelatemail