【发布时间】:2016-03-16 12:53:57
【问题描述】:
我熟悉 R 中的一些 split-apply-combine 函数,例如 ddply,但我不确定如何拆分数据框、修改每个子集中的单个变量,然后重新组合子集。我可以手动执行此操作,但肯定有更好的方法。
在我的示例中,我试图在一个组内对单个变量(但没有其他变量)进行洗牌。这是一个排列分析,所以我做了很多次,因此想加快速度。
allS <- split(all, f=all$cp)
for(j in 1:length(allS)){
allS[[j]]$party <- sample(x=allS[[j]]$party)
}
tmpAll <- rbind.fill(allS)
示例数据框:
all <- data.frame(cp=factor(1:5), party=rep(c("A","B","C","D"), 5))
感谢您的指导!
【问题讨论】:
标签: r split-apply-combine