假设我有许多具有以下格式的csv文件:
Date,col1,col2,col3
8/1/2017,2,3,4
8/5/2017,4,6,7
Date,col1,col2,col3
8/1/2017,2,3,4
8/3/2017,2,5,4
8/5/2017,4,6,7
我将如何创建一个动物园对象,让每个日期向我显示每一列的总数?
使用上面的文件内容,我想创建以下动物园对象:
Date | col1 | col2 | col3
8/1/2017 4 6 8
8/3/2017 2 5 4
8/5/2017 8 12 14
注意:我更喜欢base-R解决方案(可以使用Zoo包)
答案 0 :(得分:1)
我们可以通过使用read.zoo
读取列表中的文件来使用lapply
library(zoo)
files <- list.files("C:\\test", pattern = ".*.csv", full.names = TRUE)
out.list <- lapply(files, function(x) read.zoo(x, header=TRUE, sep = ",", index.column = "Date"))
summary <- Reduce("+", do.call(merge, args = c(out.list, retclass = "list", fill = 0)))
colnames(summary) <- colnames(out.list[[1]])