Допустим, у меня есть следующий (упрощенный) тиббл, содержащий группу и значения в векторах:
set.seed(1)
(tb_vec <- tibble(group = factor(rep(c("A","B"), c(2,3))),
values = replicate(5, sample(3), simplify = FALSE)))
# A tibble: 5 x 2
group values
<fct> <list>
1 A <int [3]>
2 A <int [3]>
3 B <int [3]>
4 B <int [3]>
5 B <int [3]>
tb_vec[[1,2]]
[1] 1 3 2
Я хотел бы суммировать векторы значений для каждой группы, суммируя их (векторизовать) и попробовав следующее:
tb_vec %>% group_by(group) %>%
summarize(vec_sum = colSums(purrr::reduce(values, rbind)))
Ошибка: столбец vec_sum
должен иметь длину 1 (суммарное значение), а не 3
Ошибка удивляет меня, потому что тиблы (выходной формат) могут также содержать векторы.
Мой ожидаемый результат будет следующим кратким тибблом:
# A tibble: 2 x 2
group vec_sum
<fct> <list>
1 A <dbl [3]>
2 B <dbl [3]>
Существует ли решение для приведения в соответствие с векторным выводом суммирования? Я хочу не разбивать тибл, потому что тогда я теряю фактор.