2017-07-25 141 views
-1

我在我的目錄文件夾中有12個文件,文件的類型是csv和SAS7dbat。我用這個命令將上傳到:執行兩個命令到R中的一個命令中

fileList1 = list.files(path=".", pattern=".csv") 
fileList2 = list.files(path=".", pattern=".sas") 

我試着寫這個命令,但它並不順利:

fileList = list.files(path=".", pattern= c(".csv", ".sas") 

此外,我需要兩個讓他們到一個命令:

list2env(
lapply(setNames(fileList1, make.names(paste(2008:2016, "_kvish_1_10t", sep= ""))), 
     read.csv), envir = .GlobalEnv) 

list2env(
lapply(setNames(fileList2, make.names(paste0(2005:2007, "_kvish_1_10t", sep= ""))), 
     haven::read_sas), envir = .GlobalEnv) 

回答

1

模式只需要一個參數。

如果你想找到幾個要素,你應該嘗試用正則表達式:

fileList <- list.files(path=".", pattern= "\\.csv|\\.sas") 

最佳,

科林

+1

或'list.files(PATH =「\\(CSV | sas)$「)',我想。 – Frank

+0

嘿,你能回答我添加到帖子中的第二個問題嗎?我以你向我展示的方式嘗試 –