[英]Nested for loop in R for combination of states
我在R中有两个数据框,其中statedata是“ state”的一列,而topstatedata是“ topstate”,是其中的一列。 topstate的总数为5,state的总数为26。我想运行一个嵌套循环以在数据中获取以下组合,以使topstate的每一个与一个状态形成组合。 像这样的东西
topstate state
CA AB
TX AB
NJ AB
FL AB
NY AB
CA AE
TX AE
NJ AE
FL AE
NY AE
.....依此类推,请为我建议这样的输出的R代码。
您可以按以下方式使用expand.grid
函数。 我组成了自己的data.frames,因此您需要指定脚本中的df1和df2。
df1 <- data.frame(topstate=c("CA","TX","NJ","FL","NY"))
df2 <- data.frame(state=c("AB","AE"))
result <- expand.grid(topstate=unique(df1$topstate),state=unique(df2$state))
result
topstate state
1 CA AB
2 TX AB
3 NJ AB
4 FL AB
5 NY AB
6 CA AE
7 TX AE
8 NJ AE
9 FL AE
10 NY AE
您不需要循环。 这将达到目的:
setNames(data.frame(unique(topstatedata$topstate),
rep(unique(statedata$state),
each = length(unique(topstatedata$topstate)))),
names(statedata)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.