Как бы вы создали сводный зоопарк из списка файлов? - PullRequest
0 голосов
/ 08 июля 2019

Предположим, у меня есть несколько 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

Как бы я создал 1 зоопарк объект, который для каждой даты показывает мне сумму для каждого столбца?

Используя содержимое файла выше, я хотел бы создать следующий объект зоопарка:

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 все в порядке)

1 Ответ

1 голос
/ 08 июля 2019

Мы можем использовать 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]])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...