Ich habe einen Datenrahmen, der eine Reihe von Daten enthält, die in bestimmten Elementen der Zeilen mit Kommas verbunden ist. Etwas, das wie folgt aussieht: in einer Form erhalten möchteAggregation mehrerer Spalten aus Datenrahmen
df <- data.frame(
c(2012,2012,2012,2013,2013,2013,2014,2014,2014)
,c("a,b,c","d,e,f","a,c,d,c","a,a,a","b","c,a,d","g","a,b,e","g,h,i")
)
names(df) <- c("year", "type")
ich es, dass dcast
Nähe ist es darum geht, zu, mit dem Jahr, a, b, c, etc. die Spalten zu sein, und die Frequenz über die Daten Rahmen, der in den Zellen des resultierenden Datenrahmens ist. Ich habe zuerst versucht, colsplit
auf df
zu tun und dann dcast
nach, aber das scheint nur zu funktionieren, wenn ich auf einer der Ebenen aggregieren will statt alle.
df2 <- data.frame(df$year, colsplit(df$type, ',' , c('v1','v2','v3','v4','v5')))
df3 <- dcast(df2, df.year ~ v1)
Dieses Ergebnis gibt mir nur für die erste Ebene der colsplit
, statt sie alle. Bin ich nah an einer Lösung oder sollte ich einen anderen Ansatz verwenden?