【发布时间】:2016-07-02 08:39:18
【问题描述】:
问题:
我有一个包含 168 个 csv 文件的文件夹。每个 csv 有 200 个观察值(为简单起见,假设其中只有一个变量 x)。每个文件都是每小时和 7 天的观察记录(即 24 x 7 = 168 个文件)。
我想要什么:
读取 24 个文件(一天)并创建一个数据框。然后对接下来的 24 个文件重复该过程。这样,我们最终会得到 7 个数据帧(每天一个),每个数据帧将有 200 x 24 = 4800 个观察值。
我尝试了什么:
setwd('/data/')
temp = list.files(pattern="*.csv")
for(i in seq(from=1, to=168, by=24)){
data <- temp[i : i+23] %>%
lapply(read.csv, skip=1, header=FALSE) %>%
bind_rows
assign ( paste0("df_",i,sep=""), data)
rm(data)
}
结果:
但我未能在每个 df 中获得 4800 个观察值。 相反,它只给我 200 个 obs。在每个df中。 (例如 df_1 : 200 obs) 我做错了什么??有人可以帮忙吗?
【问题讨论】:
-
我怀疑您在这里使用管道对您没有多大帮助,并且可能会增加混乱。
-
我不确定,雅普。但是在循环之外,在单个文件夹上,这个管道运行良好。