简体   繁体   English

在dplyr中将na.rm = TRUE合并到Summarise_Each中以实现多个功能

[英]Incorporating na.rm=TRUE into Summarise_Each for Multiple Functions in dplyr

So I have a dplyr table movie_info_comb from which I am calculating various statistics on one column metascore. 因此,我有一个dplyr表movie_info_comb,据此我可以在一个列metascore上计算各种统计信息。 Here is the code: 这是代码:

summarise_each_(movie_info_comb, funs(min,max,mean,sum,sd,median,IQR),"metascore")

How do incorporate na.rm=TRUE? 如何合并na.rm = TRUE? I've only seen examples for which one statistic is being calculated and I'd hate to have to repeat this 5 times (one for each function. 我只看到了正在计算一个统计信息的示例,但我不希望重复执行5次(每个函数一次)。

Thanks in advance. 提前致谢。

You can do this with lazy evaluation 您可以通过懒惰的评估来做到这一点

library(lazyeval)

na.rm = function(FUN_string)
  lazy(FUN(., na.rm = TRUE)) %>%
    interp(FUN = FUN_string %>% as.name)

na.rm.apply = function(FUN_strings)
  FUN_strings %>% 
  lapply(na.rm) %>%
  setNames(FUN_strings)

mtcars %>%
  select(mpg) %>%
  summarize_each(
    c("min","max","mean","sum","sd","median","IQR") %>%
      na.rm.apply)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM