2017-10-06 78 views
0

我想在循環中創建多個數據幀(在R中)並且每個數據幀的名稱由名稱+循環索引組成。例如:在循環中創建多個數據幀(在R中)

B1,B2,B3,...,B10 1至10是環指標

現在,我要訪問這些dataframes就是調用畢時,它會顯示其內容。 例如:

for (i in 1:10) { 
compare (Bi $ label, test $ label) 
} 

我已經運行中的R下面的代碼,但在接下來的步驟我無法使用dataframes

 > for(i in 1:4){ 
+ df.name<-paste("B",i) 
+ df.name[i]<-i+1 
+ print(df.name[i])} 

我怎樣才能做到這一點? 感謝您的幫助

+5

您需要使用'assign',但這不是個好主意,請創建'data.frames'列表而不是 –

+0

是否有[這些選項](https://www.google.no/search?q= r + loop + list + data.frame&gws_rd = cr&dcr = 0&ei = KN7XWf_PBYv36ASN2aWwDQ)help? – AkselA

+0

製作一個[數據框列表(點擊鏈接)](https://stackoverflow.com/a/24376207/903061),你的列表可以命名爲'B',你可以訪問'B [[1]]' ,B [[7]]等。 – Gregor

回答

0

也許你會製作一個data.frames列表。比使用data.frames創建大量變量更安全,並且更加有組織。

ls<-list() 

因此,您可以將date.frames存儲在列表中,並在需要時調用它們。

ls[1]<-df1 
ls[2]<-df2 
. 
. 
. 
ls[x]<-dfx 

#Calling one of the data.frames in the list 
>ls[3] 
    # Will show the third data.frame that you put there. 

如果您有一些方法可以生成多個數據框,您可以使用循環將它們存儲在此列表中,如上所述。

for(i in 1:number of data.frames){ 
    ls[i]<-df 
} 

我希望能幫到你。

問候。