2017-10-15 62 views
0

選擇幾個列我想提出一個從多個XLSX R中與list.files和lapply這樣的:如何使一個從多個XLSX R中

file.list <- list.files(pattern='*.xlsx') 
df.list <- lapply(file.list, read_excel) 

然而,文件具有不同的列集。

file1a.xlsx:

V1 V2 
A A 

file2a.xlsx:

V1 V3 
A A 

file3a.xlsx:

V1 V4 
A A 

我想從這些三個文件製作一個文件(甚至是整個我的目錄中的文件)像這樣:

V1 V2 V3 V4 
A A 
A  A 
A  A 

如何調整list.files和lapply?

+0

你可以請提供您的問題 –

+0

如果每個文件包含V1,無法加載每個人作爲獨立的DF,然後使用合併(),以重複的例子通過V1加入他們? –

回答

2

您可以運行一個循環來讀取單個文件。然後你可以使用rbindlistdata.table合併

df1 <- data.frame(V1 = c("A"), V2 = c("A")) 
df2 <- data.frame(V1 = c("A"), V3 = c("A")) 
df3 <- data.frame(V1 = c("A"), V4 = c("A")) 

library(data.table) 
df <- rbindlist(list(df1, df2), fill = TRUE) 
df <- rbindlist(list(df, df3), fill = TRUE) 
df 

    V1 V2 V3 V4 
1: A A NA NA 
2: A NA A NA 
3: A NA NA A 
+0

這對我真的很有幫助。這是第一次知道這個功能。我正在與清單工作,這是偉大的! –

相關問題