我们可能需要
ungroup
因为有
rowwise
属性,然后在上循环
data
具有
map
并使用创建列
mutate
关于嵌套
数据
library(dplyr)
library(purrr)
nested_test_new <- nested_test %>%
ungroup %>%
mutate(data = map(data, ~ .x %>%
mutate(score3 = mean(score, na.rm = TRUE))))
-输出
nested_test_new
# A tibble: 3 Ã 2
all_combos data
<chr> <list>
1 post_1 <tibble [19 Ã 4]>
2 post_2 <tibble [31 Ã 4]>
3 pre_0 <tibble [50 Ã 4]>
> nested_test_new$data
[[1]]
# A tibble: 19 Ã 4
id score score2 score3
<int> <dbl> <dbl> <dbl>
1 2 10 33.4 10
2 4 10 33.4 10
3 14 10 33.4 10
4 16 10 33.4 10
5 18 10 33.4 10
6 28 10 33.4 10
7 30 10 33.4 10
8 32 10 33.4 10
9 38 10 33.4 10
10 44 10 33.4 10
11 48 10 33.4 10
12 60 10 33.4 10
13 64 10 33.4 10
14 78 10 33.4 10
15 80 10 33.4 10
16 86 10 33.4 10
17 92 10 33.4 10
18 96 10 33.4 10
19 100 10 33.4 10
[[2]]
# A tibble: 31 Ã 4
id score score2 score3
<int> <dbl> <dbl> <dbl>
1 6 100 33.4 100
2 8 100 33.4 100
3 10 100 33.4 100
4 12 100 33.4 100
...
或者另一种选择是
nest_mutate
从…起
nplyr
library(nplyr)
test %>%
unite(col = "all_combos", c(condition, time)) %>%
mutate(score2 = mean(score)) %>%
nest(data = -all_combos) %>%
nest_mutate(data, score3 = mean(score, na.rm = TRUE))
-输出
# A tibble: 3 Ã 2
all_combos data
<chr> <list>
1 pre_0 <tibble [50 Ã 4]>
2 post_1 <tibble [19 Ã 4]>
3 post_2 <tibble [31 Ã 4]>