我有一个数据框,其中有一些数据在行的某些元素中用逗号连接。一些看起来像:从数据框中聚合多列
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
的第一级,而不是全部。我接近解决方案还是应该完全使用不同的方法?