2016-01-07 30 views
1

我有一組數據幀 - 讓我們說是report_001,report_002,report_003等 - 我有他們的名稱在一個字符向量中,如:將字符向量轉換爲相同名稱的數據幀列表

n <- c('report_001', 'report_002', 'report_003') 

我需要把它變成數據幀列表如下:

dfList <- list(report_001 = report_001, report_002 = report_002, report_003 = report_003) 

,這樣我可以指數是這樣的:

dfList[['report_002']] 

但是,由於我有大量的數據幀,我不想手動執行此操作。試圖做這樣的事情,沒有工作:

dfList <- sapply(n, function(x) assign(x, as.name(x))) 

對於這個問題,這些數據幀是什麼並不重要。爲了簡單起見,我可以有:

report_001 <- mtcars 
report_002 <- mtcars 
report_003 <- mtcars 

我如何能實現我的數據幀的名稱自動轉換成同名指數的數據幀的列表?

+1

'dfList < - mget(n)' –

+0

哇...那簡單而且基礎。甚至不知道。謝謝! – Gopala

回答

3
report_001 <- mtcars 
report_002 <- mtcars 
report_003 <- mtcars 
n <- c('report_001', 'report_002', 'report_003') 
dfList <- mget(n) 
head(dfList[['report_001']]) 
#     mpg cyl disp hp drat wt qsec vs am 
# Mazda RX4   21.0 6 160 110 3.90 2.620 16.46 0 1 
# Mazda RX4 Wag  21.0 6 160 110 3.90 2.875 17.02 0 1 
# Datsun 710  22.8 4 108 93 3.85 2.320 18.61 1 1 
# Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 
# Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 
# Valiant   18.1 6 225 105 2.76 3.460 20.22 1 0 
+1

有趣的是看到名單已經被命名。 –

+0

雖然這是一個冠軍,但我有一個可怕的麻煩調用一個閃亮的應用程序後,我的數據集構建此列表。所有看起來都不錯,但是當我用空白服務器調用空白的UI時,我得到Error:沒有找到'report_001'的值。對於我的生活,我無法弄清楚。奇怪的是,當我在列中使用gsub逗號時,同樣的錯誤會移動到列表中的下一個數據框。有什麼想法嗎? – Gopala

+0

對於超出第一個問題範圍的後續問題,最好完全創建另一個問題。否則,幫助非常困難。 –

相關問題