Это продолжение этого вопроса .
Мне нужно иметь возможность столбцов group_by () в моей новой вложенной таблице. Я не могу найти функцию purrr, которая делает это (хотя я знаю, что решение существует). Мне нужно, чтобы group_by в каждой таблице применял дополнительные функции суммирования и соответствовал соответствующим линейным моделям. Пример, приведенный здесь, является просто фиктивным примером.
library(tidyverse)
set.seed(2)
N <- 30
df <- tibble(type = rep(c("small","medium","high"), each=N/3),
dummy = rep(c(1,5,10),each=10),
xvals = rep(1:10,3),
A = rnorm(N)*dummy,
B = rnorm(N)*dummy,
C = rnorm(N)*dummy) %>%
mutate(type = factor(type, levels=c("small","medium","high"))) %>%
select(-dummy) %>%
pivot_longer(cols=-c(type,xvals), names_to="metric", values_to = "value") %>%
group_by(type) %>%
group_nest(.key="data")
Это создает столбец с двумя столбцами:
df
# A tibble: 3 x 2
type data
<fct> <list>
1 small <tibble [30 x 3]>
2 medium <tibble [30 x 3]>
3 high <tibble [30 x 3]>
Это пример того, что я хочу сделать для всех вложенных элементов. :
df[[2]][[1]] %>%
group_by(metric) %>%
summarize(mean = mean(value))
# A tibble: 3 x 2
metric mean
<chr> <dbl>
1 A 0.211
2 B -0.296
3 C -0.391