我的問題很簡單,有很多「答案」與lapply給我的東西,我不是在尋找。它們沒有用處,因爲我得到一個列表,然後必須做另一個循環來獲取數據框,並且遇到同樣的問題:使用序列化名稱一次創建多個數據框。這就是爲什麼我要問一個新問題。R導入excel,從列表創建幾個數據幀使用循環
我有一個Excel文件5張不同的圖表,我想創建5個不同的數據框。
library(openxlsx)
ln=list()
for (i in 2:6)
{
ln[[i]]<-read.xlsx("File.xlsx", sheet=i-1, startRow=3)
}
然後,我知道我可以做:
mo_1<-data.frame(ln[[2]])
,它看起來像它會給我正確的表文件。 但是,我需要爲所有工作表執行此操作。我的嘗試是:
for (i in 2:6){
mo_[i]<-data.frame(ln[[i]])
}
這就給我帶來了和以前一樣的問題。 P
所以我需要5個文件:mo2,...,mo6,我希望它們是DATAFRAMES(不是列表)。
謝謝。
只是爲了補充爲什麼其他解決方案不起作用: - 他們似乎沒有製作框架,他們似乎在不停地製作列表,看起來我必須手動進行轉換。
另一種表述這個問題的方法是如何使用循環從列表創建數據幀。
提的是現有的答案,在那裏沒有解釋爲什麼他們不幫忙,是沒有用的。 –
更好,但如果不解釋哪些解決方案無法解釋哪些措施,則仍難以說明您所指的內容。 –
您的變量'ln'是數據框的列表,因此最容易以'ln [[]]'符號訪問每個數據框。如果你真的想使用一系列新的變量名,那麼使用'assign'函數。看到相關的帖子:https://stackoverflow.com/questions/24699989/r-dynamically-create-a-variable-name。我相信:'assign(paste0(「mo」,i),ln [[i]])是你正在尋找的東西。 – Dave2e