【发布时间】:2017-11-13 14:08:38
【问题描述】:
我是 R 新手,我需要一些关系循环方面的帮助。我需要从一个数据集中生成大量表,我认为循环内的循环可以解决问题,但我无法获得正确的结果。
假设我有以下数据集:
var1 <- c("A","A","A","A","B","B","B","B")
var2 <- c(1,2,1,2,1,2,1,2)
df <- data.frame(var1,var2)
我想提取4个表中的数据:
- “A”和 1 的结果
- “A”和 2 的结果
- “B”和 1 的结果
- “B”和 2 的结果
我有这个循环,但我无法获得 4 个表。谁能帮忙!
for (i in df$var1) {
dummy<- df%>%filter(var1 == i)
for (j in dummy$var2) {
nTab <- paste0("tab_", j, sep ="")
assign(nTab, dummy%>%filter (var2 == j))
}
}
【问题讨论】:
-
您在寻找
xtabs(~ var1 + var2, data=df)吗? -
循环是一种不好的方法 - 看起来你想要
split(df, f = paste(df$var1, df$var2, sep = "_"))。 -
我需要创建几个数据框以导出到 csv。每个组合 var1 和 var2 一个。
-
感谢 Gregor 和 jogo!
标签: r loops nested-loops