将地图函数应用于R中的嵌套小标题

问题描述 投票:0回答:1

我正在尝试复制我为tidyverse软件包找到的'旧'R脚本。

library(dslabs)
DataTib<-as_tibble(us_contagious_diseases)


DataTib_nested <- DataTib %>%
  group_by(disease) %>%
  nest()

Mean_count_nested <- DataTib_nested %>%
  mutate(mean_count = map(.x=DataTib_nested$data, ~mean(.x$count)))

据我所知,我有一个小标题,其中按疾病将数据分组,然后将其余变量/数据嵌套,然后尝试添加一个新列,该列应表示该嵌套数据帧上变量“计数”的平均值。

但是我得到了一个错误,我不太了解:

Error: Problem with `mutate()` input `mean_count`.
x Input `mean_count` can't be recycled to size 1.
i Input `mean_count` is `map(.x = DataTib_nested$data, ~mean(.x$count))`.
i Input `mean_count` must be size 1, not 7.
i The error occured in group 1: disease = "Hepatitis A".

先谢谢您,最好的问候!

r dataframe tidyverse purrr
1个回答
0
投票

您的语法略有错误:

DataTib_nested <- DataTib %>% 
  group_by(disease) %>% 
  nest(data = - disease) 

Mean_count_nested <- DataTib_nested %>% 
  mutate(mean_count = map_dbl(data, ~mean(.x$count)))

请注意,我使用的是map_dbl 而不是map,因为返回值为数字。

© www.soinside.com 2019 - 2024. All rights reserved.