Du hast in der Zeile immer noch an einer Stelle datas1 stehen.
Beziehungsweise: Du hast in dem funktionierenden Konstrukt eigenmächtig an einigen Stellen datas1 in datas3 abgeändert.
Reshape from long to wide mit sehr komplexen Datensatz
Re: Reshape from long to wide mit sehr komplexen Datensatz
Wenn die Auswertungswünsche zu exotisch werden, fährst Du wahrscheinlich besser damit, die unterschiedlichen Komponenten getrennt zu erzeugen und dann zusammenzujoinen/-mergen! Es muss je nicht unbedingt ein dcast-Einzeiler sein, oder?
Re: Reshape from long to wide mit sehr komplexen Datensatz
Nein, aber ich habe keine Ahnung wie das geht, damit die einzelnen Elemente auch den entsprechenden Probanden zugeordnet werden...
Re: Reshape from long to wide mit sehr komplexen Datensatz
Wenn Du irgendwann vernünftig mit R arbeiten willst, solltest Du Dir diese Basics (etwa: merge() !) genauer anschauen.
Es ist sicher nicht anfängerfreundlich (also leider wieder ohne bigben-Punkt ), aber ich zeige Dir mal ein mögliches Vorgehen mit data.table:
Es ist sicher nicht anfängerfreundlich (also leider wieder ohne bigben-Punkt ), aber ich zeige Dir mal ein mögliches Vorgehen mit data.table:
Code: Alles auswählen
library(data.table)
data.long <- data.table(Person=c("Mike","Mike","Bob","Bob"), Country=c("France","UK","France","UK"),
Time=c("Sept", "Okt", "Sept","Okt"), Spent=c(1213, 1872, 1726, 2234), correct=c(1,1,1,0))
Part.1 <- dcast(data.long, Person ~ Country + Time, value.var = "Spent")
setkey(Part.1,Person)
Part.2 <- data.long[ , .(korrekteEinträge=sum(correct)), by=Person]
setkey(Part.2,Person)
Part.2[Part.1]