※ 引述《lambking (BB)》之銘言:
: [問題類型]:
: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
: [軟體熟悉度]:
: 入門(寫過其他程式,只是對語法不熟悉)
: [問題敘述]:
: 有多個檔案 每個檔案的格式皆相同
: 例:
: >fread('aa.csv')
: name id amount
: sam 001 2
: >fread('bb.csv')
: name id amount
: tom 007 5
: 想在每個檔案中增加一個欄位紀錄其檔名
: ex:
: name id amount file
: sam 001 2 aa
: ...
: ...
先把檔案位置設為filepath, 然後透過list.files找出所有的檔案並讀入
把分散的表先mutate出一欄檔名 再bind_rows到Full data.frame
library(magrittr)
library(dplyr)
filepath = "test/"
temp <- list.files(path = filepath, pattern = "*.csv")
filename <- temp %>% gsub(x = ., pattern = ".csv", "")
for(i in 1:length(filename)){
assign( filename[i], read.csv(paste0(filepath, temp[i])))
}
FullDF <- data.frame()
for(i in 1:length(filename)){
FullDF <- bind_rows(FullDF, filename[i] %>% get %>% mutate(file =
filename[i]))
filename[i]))
}