2016-04-27 93 views
-5

我需要在一個數據框的名稱中包含不同的數字(循環函數的結果),我試圖在同一時間讀取數據框的名稱。但是,我不知道如何。在數據框的名稱中包含不同的數字

例如,我所期待的是這些dataframes的名字:

data.1 
data.2 
data.3 

什麼,我試圖做一個例子(沒有工作,但足以說明好我的問題)是:

for (a in 1:3) data.(a) <- read.csv2(file.csv, header = TRUE) 

是否可以在數據框的名稱中包含不同的數字?如果是,請怎麼辦?

對不起,對於初學者的問題,但我沒有找到它的任何地方。

+7

這是通常不是我們如何在R中做事情。如果你正在閱讀多個文件,你可以通過'lapply'來完成,它會給你一個數據幀列表。然後,您可以將列表的名稱設置爲任何你想要的。 – joran

+0

謝謝,但我沒有試圖讀取多個文件,而是一次多次使用不同的文件。 –

+1

請參閱[使用data.frames列表]上的下列答案(http://stackoverflow.com/questions/17499013/how-do-i-make-a-list-of-data-frames/24376207#24376207) 。這是要走的路。 – lmo

回答

-3

雖然我對於這種情況下joran同意,有時也可以是有用的使用assign()功能,例如如下:

for (i in 1:3) { 
    assign(paste0("data.", i), i) 
} 

這將導致以下:

> ls() 
[1] "data.1" "data.2" "data.3" "i"  
> data.1 
[1] 1 
> data.2 
[1] 2 
> data.3 
[1] 3 
+0

非常感謝!解決了這個問題。 (稍後我將介紹如何使用列表的其他方法,但目前這種方法可行。 ) –

+6

@JakubDrapal Nooooooooooooooooo!嘆氣。 – joran

相關問題