Umformen von Daten für die Werte in einer Spalte
Meine Daten.Rahmen sieht wie folgt aus
ID | test | test_result
1 | B | 10
2 | A | 9
3 | A | 11
4 | C | 7
5 | F | 5
Und ich möchte so etwas wie dies:
test | test_reult_ID1 | test_result_ID2 | test_result_ID3 ...
A | NA | 9 | 11
B | 10 | NA | NA
Funktioniert es mit reshape (), die wide-format mit nur ein paar Fälle, aber mit dem gesamten Daten-frame (über 23.000 IDs), reshape () dauert viel zu lange.
Melt() und cast() zu tun Umformen der Daten, sondern ersetzen Sie die Werte in test_result durch die Häufigkeit der Tests. Irgendwelche anderen Ideen, wie dies zu bewerkstelligen? Danke!
- stackoverflow.com/a/9617424/210673 hat nun eine Liste der verschiedenen Möglichkeiten, dies zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
dcast aus der reshape2-Paket bedeutet dies:
Aggregation function missing: defaulting to length
wieder nur mit den Frequenzen, anstatt die Werte. Mit nur ein paar Zeilen, aber in den Werken. Wissen Sie, warum?dcast
Argumente, die dazu führen, dass mehr als ein Wert in jeder Zelle das Ergebnis. Wenn dies geschieht, ist eine Art der aggregation muss geschehen, und die Standard-Funktion count. Haben Sie vielleicht doppelte Werte in Ihren Daten? Trotzdem, vielleicht versuchenmean
als Aggregationsfunktion.mean
funktioniert nicht, weil:argument is not numeric or logical: returning NA
gibt es eine Aggregationsfunktion wie "just Rückkehr der Werte" ?character
vielleicht erwägen Sie die Verwendungpaste
?Andere Lösung mit
reshape
Funktion inbase
R.BEARBEITEN. Ich sehe, dass Sie bereits versucht haben
reshape
und es dauerte zu lange. Können Sie uns mehr details über Ihre tatsächlichen Daten?