Ich habe es mit einem Datensatz zu tun, der in einem langen Format vorliegt, wie unten gezeigt.r Transformationsdatensatz von lang nach breit
id Name FluidTotal
60718 Rocuronium 11.069175
07860 Rocuronium 5.967500
90389 Rocuronium 200.000000
01536 Rocuronium 78.311333
01536 Rocuronium 51.415600
28047 Rocuronium 72.944444
28047 Acid 1
28047 Acid 1
28047 Acid 1
28047 Acid 1
92323 Acid 1
92323 Void 100
01536 Void 25
60718 Void 70
60718 Void 40
Was ich versuche unter
Id Rocuronium Acid Void
60718 11.069175 - 110
07860 5.967500 - -
90389 200.000000 - -
01536 129.72693 - 25
28047 72.944444 4 -
92323 - 1 100
Die erste Reihe ist 60718 11.069175 - 110
wie dies dies zu einem breiten Format zu tun ist, transformiert, der Zellenwert für Void
ist 110
weil die letzten beiden Zeilen für id 60718
im langen Format sind 70
und 40
so, wenn sie in das breite Format konvertiert werden diese beiden Werte hinzugefügt.
Ähnlich der Wert von Rocuronium
für id 01536
im Wide-Format ist 129.72693
da Zeilen 4 und 5 im Langformat für diese ID 01536
sind 78.311333
und 51.415600
ich auf das Erreichen dieser Transformation jede Hilfe zu schätzen wissen würde, Dank im Voraus ..
Wesentlichen die gleiche wie hier - http://stackoverflow.com/questions/35424064/converting-long-to-wide-format/35424289 - ersetzen Sie einfach 'min' mit' sum' statt - 'umformen (Aggregat (FluidTotal ~., data = dat, FUN = Summe), idvar = "id", timevar = "Name", direction = "wide") ' – thelatemail
Oder Sie können' tidyr' Paket '' Spread' Funktion verwenden. – Gopala
'reshape (aggregate (....))' scheint ein Rezept für einen einmaligen Erfolg und später Fehler für einen neuen R-Benutzer. Die meisten erfahrenen R-Benutzer haben immer noch Probleme mit der Umgestaltung. –