嘗試for
循環,可以設定不同的工作目錄和所有數據存儲的列表中:
curr.name <- gsub(x = list.dirs('.', recursive=FALSE), pattern = "./", replacement ="")
curr <- paste(getwd(), curr.name, sep = "/")
___________________________________________________________________________________________
MSCI <- list()
for(i in 1:length(curr)){
setwd(curr[i])
filenames <- list.files(path = curr[i])
MSCI[[i]] <- do.call("rbind", lapply(filenames, read.csv, header = TRUE, sep = ";"))
}
names(MSCI) <- curr.name
___________________________________________________________________________________________
# Other way
for(i in 1:length(curr)){
setwd(curr[i])
filenames <- list.files(path = curr[i])
assign(curr.name[i],do.call("rbind", lapply(filenames, read.csv, header = TRUE, sep = ";")))
}
看看'lapply '作爲你最好的選擇。 'for'循環可以工作,但可能效率較低,並且需要您更明確地存儲結果 –
一種選擇是將整個事件轉換爲一個函數,其中'EUR'被替換爲'x'等一個正式的參數,然後你可以調用'lapply',在那裏你提供一個所有貨幣的向量以循環和函數的名字。 –
@DanielAnderson這正是我也在想的,但我寫了自己的功能真的很難,但我試了一下:)謝謝! – LeroxXx