如何一次導入多個.csv文件?假設我們有一個包含多個data.csv文件的文件夾,每個文件包含相同數量的變量,但每個變量都來自不同的時間。R中有沒有辦法同時導入它們而不必單獨導入它們?我的問題是我有大約2000個數據文件要導入,只需使用代碼就可以單獨導入它們:read.delim(file="filename", header=TRUE, sep="\t")不是很有效率。
4 回答

天涯盡頭無女友
TA貢獻1831條經驗 獲得超9個贊
除了lapply
在R中使用或其他一些循環結構外,您還可以將CSV文件合并到一個文件中。
在Unix中,如果文件沒有標題,那么它就像以下一樣簡單:
cat *.csv > all.csv
或者如果有標題,你可以找到一個匹配標題和只有標題的字符串(即假設標題行都以“Age”開頭),你會這樣做:
cat *.csv | grep -v ^Age > all.csv
我認為在Windows中你可以用DOS命令框COPY
和SEARCH
(或者FIND
什么)來做這個,但為什么不安裝cygwin
并獲得Unix命令shell的強大功能呢?

PIPIONE
TA貢獻1829條經驗 獲得超9個贊
這是我開發的將所有csv文件讀入R的代碼。它將為每個csv文件單獨創建一個數據幀,并為數據框創建文件的原始名稱(刪除空格和.csv)我希望你發現它很有用!
path <- "C:/Users/cfees/My Box Files/Fitness/"
files <- list.files(path=path, pattern="*.csv")
for(file in files)
{
perpos <- which(strsplit(file, "")[[1]]==".")
assign(
gsub(" ","",substr(file, 1, perpos-1)),
read.csv(paste(path,file,sep="")))
}
- 4 回答
- 0 關注
- 1844 瀏覽
添加回答
舉報
0/150
提交
取消