簡體   English   中英

在R中嵌套for循環以實現狀態組合

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM