我正在尝试复制我为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".
先谢谢您,最好的问候!
您的语法略有错误:
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
,因为返回值为数字。