我有一個數據框,其中有一些數據在行的某些元素中用逗號連接。一些看起來像:從數據框中聚合多列
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")
我想要得到它的形式dcast
接近它前往,與去年A,B,C等爲列,在整個數據的頻率幀位於結果數據幀的單元中。我首先嚐試colsplit
df
然後使用dcast
之後,但似乎只有工作,如果我想聚合的其中一個層面,而不是所有。
df2 <- data.frame(df$year, colsplit(df$type, ',' , c('v1','v2','v3','v4','v5')))
df3 <- dcast(df2, df.year ~ v1)
這一結果只給了我爲colsplit
的第一級,而不是全部。我接近解決方案還是應該完全使用不同的方法?