【发布时间】:2019-11-23 04:04:36
【问题描述】:
所以我有多个数据帧,遵循以下模式:
df1<-data.frame(id=c("1","2","1","2"),choice=c(1,1,1,2))
df2<-data.frame(id=c(...),choice=c(...))
df1
id choice
1 1 1
2 2 1
3 1 1
4 2 2
现在我想知道,每个人选择不同选项的频率:
df1_cast<-dcast(df1,choice~id,value.var = "choice",fill = 0,fun.aggregate = length)
df1_cast
choice 1 2
1 1 2 1
2 2 0 1
由于我有多个数据框,我尝试使用 for 循环对其进行循环:
experiments<-list(df1,df2,...)
for (i in 1:length(experiments)){
dcast(experiments[i],choice~id,value.var="choice",fill=0,fun.aggregate=length)
}
遗憾的是,数据帧被保存为列表中的列表,并且 dcast 函数找不到value.var。
【问题讨论】:
标签: r for-loop data.table reshape2 dcast