У меня большой столбик с одним столбцом вложенного списка. Каждый элемент столбца вложенного списка имеет 10 000 итераций, и я хотел бы применить функцию к этим элементам, а затем суммировать их по группам.
Я создал минимальный воспроизводимый пример ниже
tibble(a = list(c(1,2),c(3,4), c(5,6), c(7,8)),
b = c(2,3, 4, 2),
c = c(1,1, 2, 2))
Сначала я хотел бы умножить каждый элемент на x $ a на x $ b. Это должно дать мне
tibble(a = list(c(2,4), c(9,12), c(20,24), c(14,16)),
b = c(2,3, 4, 2),
c = c(1,1,2,2))
Наконец, я хотел бы сгруппировать по x $ c, а затем добавить по значениям элемента этой группы. Это должно дать следующий результат
tibble(a = list(c(11,16), c(34,40)),
c = c(1,2))
Как вы можете видеть, первый элемент x $ a - это сумма итераций, где x $ C == 1, то есть сумма вектора c (2,4 ) и c (9,12), дающих c (11,14)
Я думаю, что функция purrr :: map может сделать это, но борется с синтаксисом здесь
Любая помощь с благодарностью