[問題] 一次讀入多個csv file

作者: peiwinds (Macchiato Caramel)   2014-04-18 09:42:42
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
語法不太熟
[問題敘述]:
最近因為要處理的資料很多,想一次讀入多個csv檔 (數十個到數百個都有)
並且將這些檔案已 data frame的方式 rbind起來
下面第一個是我在 stackoverflow看人家分享拿來用的
第二個是我自己後來寫的
[程式範例]:
1.
temp <- do.call(rbind, lapply(list.files(path=".", pattern="*.csv"),
read.table, header=TRUE, sep=","))
# 方法一的問題在於他的path我無法指定我要的目錄 例如 D:/test 目錄
# 該目錄中明明有csv檔,但是卻會出現錯誤訊息如下
# Error in file(file, "rt") : cannot open the connection
# 當然如果我把資料都丟在環境目錄下,當然是都讀得到也不會有問題
# 因此我便寫了第2種
2.
path <- "D:/test/"
files <- list.files(path=path, pattern="*.csv")
bindtemp <- data.frame()
temp <- data.frame()
for (file in files) {
bindtemp <- read.csv(paste(path,file,sep=""))
temp <- rbind(temp,bindtemp)
}
# 想問的是第一種的寫法為什麼不能指定目錄
# 第二個只是丟上來跟大家分享,看有什麼什麼改進的空間XD
[關鍵字]:
讀入多個外部檔案
作者: obarisk (OSWALT)   2014-04-18 10:58:00
第一種可以指定路徑啊
作者: gsuper (Logit(odds))   2014-04-18 19:54:00
Dir <- paste("./",system("ls",intern=TRUE),sep="")

Links booklink

Contact Us: admin [ a t ] ucptt.com