#r #nested-lists #addition
#r #вложенные списки #добавление
Вопрос:
Я пытаюсь суммировать множество фреймов данных вложенного списка (своего рода матричная сумма; одна и та же ячейка в одном фрейме данных с такой же ячейкой в другом …). Список имеет три уровня и выглядит следующим образом:
— первый уровень представлен числами (например, от 1 до 5)
— вторые уровни включают месяцы (с января по декабрь)
— фрейм данных третьего уровня состоит из 31 строки и 31 столбца).
Итак, что я хотел сделать, это получить новый фрейм данных, который содержит сумму за тот же месяц для чисел от 1 до 5.
Я получаю желаемый результат, если суммирую фреймы данных следующим образом:
month <- listname[[1]][["month"]] listname[[2]][["month"]] listname[[3]][["month"]] listname[[4]][["month"]]....
Поскольку я должен автоматизировать этот процесс для чисел от 1 до N, я не могу использовать дополнение, используемое в приведенном выше примере.
Я надеюсь, что вы, добрые люди из этого сообщества, сможете помочь мне найти решение.
Грегор
Комментарии:
1. Можете ли вы поделиться образцами данных?
Ответ №1:
Посмотрите, работает ли приведенное ниже. Результатом должен быть список с желаемым результатом для каждого месяца
# change months to in format as in your data.
months <- c("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
lapply(months, function(month){
Reduce(` `,
lapply(listname, function(x) {
x[[month]]
}))
})