我想使用dplyr::summarise()
和dplyr::across()
函数来生成一个表,该表包含多个非缺失值、几个变量的平均值和标准差。我可以使用purrr建模语法获得关于缺失值和平均值的信息,但如果不使用多个summary调用,然后使用bind_cols()
,我就无法将摘要放入一个表中
iris %>%
group_by(Species) %>%
summarise(across(starts_with("Sepal"), ~sum(!is.na(.))))
iris %>%
group_by(Species) %>%
summarise(across(starts_with("Sepal"), ~mean(., na.rm = TRUE)))
有没有一种方法可以组合列表语法:
iris %>%
group_by(Species) %>%
summarise(across(starts_with("Sepal"), list(mean = mean, sd = sd)))
使用上面显示的purrr
函数语法来同时获得不缺失值的数量、平均值和标准偏差?
要在同一across
语句中应用多个函数,可以使用list
语法如下:
library(dplyr)
iris %>%
group_by(Species) %>%
summarise(across(starts_with("Sepal"), list(sum = ~sum(!is.na(.)),
mean = mean, sd = sd)))