[问题类型]:使用for循环读取多资料夹内多个csv 处理
效能咨询(我想让R 跑更快)
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
我要读取多个资料夹内的多个csv,然后读进来后,全部资料做简单的处理filter一些变量,
并将撷取完资料的某一字段加总起来。
以下是我写的方式,但是跑太久了......请问有比较快速的方法吗?
[程式范例]:
library(dplyr)
l<- list.files(path="/users/Johnny/downloads/M08A",pattern="*")
bindtemp <- data.frame()
temp <- data.frame()
for (k in l){
ll<- list.files(path=paste("/users/Johnny/downloads/M08A/",k,sep = ''),pattern="*")
for (i in ll) {
file_names <- paste("/users/Johnny/downloads/M08A/",k,i,sep = '/')
files <- list.files(path=file_names, pattern="*")
for (file in files) {
bindtemp <- read.csv(paste(file_names,file,sep="/"),header=F)
temp <- rbind(temp,bindtemp)
}
}
}
df3<-temp %>% filter((V3=="03F0961N"|V3=="03F0846S"),V4==31) %>% summarise(n=sum(V5))
[关键字]:
for循环 读取多资料夹的CSV