Предположим, у меня есть следующий список объектов зоопарка:
l <- list(A1=
read.zoo(data.frame(dt=c(as.Date('2010-01-02')+0:4), val1 = 1:5)),
B2=
read.zoo(data.frame(dt=c(as.Date('2010-01-03')+0:4), val1 = 11:15)),
C2=
read.zoo(data.frame(dt=c(as.Date('2010-01-05')+0:4), val1 = 21:25)))
Я хотел бы суммировать соответствующие элементы (элементы, имеющие соответствующие индексы). Я пробовал:
l.sum <- Reduce('+', l)
но проблема с этим способом в том, что он только суммирует совпадающие элементы и выбрасывает любые элементы, которые не совпадают. Мне нужно сохранить сумму элементов, которые не совпадают во всех объектах зоопарка. Итак, учитывая следующие объекты зоопарка в примере:
$A1
2010-01-02 2010-01-03 2010-01-04 2010-01-05 2010-01-06
1 2 3 4 5
$B2
2010-01-03 2010-01-04 2010-01-05 2010-01-06 2010-01-07
11 12 13 14 15
$C2
2010-01-05 2010-01-06 2010-01-07 2010-01-08 2010-01-09
21 22 23 24 25
Я ожидаю получить следующее (не обращайте внимания на упаковку - это будет просто 1 объект зоопарка, который выглядит следующим образом):
2010-01-02 2010-01-03 2010-01-04 2010-01-05 2010-01-06
1 13 15 38 41
2010-01-07 2010-01-08 2010-01-09
23 24 25
ПРИМЕЧАНИЕ. Я бы предпочел базовую реализацию R / zoo. Это было бы
интересно, что другие библиотеки решают и это.