r-当将"dplyr::summary()"与"across()"函数一起使用时



我想使用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)))

最新更新