[英]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.