首页 > 解决方案 > 删除 dplyr 的函数列表中的 NA

问题描述

我想将 dplyr 的新跨语法与删除 NA 的函数列表一起使用。

这删除了 ​​NA,但我不知道如何在不重写的情况下一次执行多个功能。

library(tidyverse)
iris$Sepal.Length[1] <- NA #Creating an NA
iris %>%
  group_by(Species) %>% 
  summarise(across(c(Sepal.Length:Petal.Width), ~ mean(.x, na.rm = TRUE)))

这一次执行多个功能,但我不知道如何修改它以删除 NA。

iris %>%
  group_by(Species) %>% 
  summarise(across(c(Sepal.Length:Petal.Width), list(mean = mean, sd = sd)))

标签: rdplyr

解决方案


一种选择可能是:

iris %>%
 group_by(Species) %>% 
 summarise(across(c(Sepal.Length:Petal.Width), 
                  list(mean = ~ mean(., na.rm = TRUE), sd = ~ sd(., na.rm = TRUE))))

推荐阅读