【问题标题】:Pass variable from dataset into a function that calls dplyr [duplicate]将变量从数据集中传递到调用 dplyr [重复] 的函数中
【发布时间】:2021-11-18 11:50:59
【问题描述】:

如何使用以变量名作为输入的管道创建函数?我正在尝试使以下功能的更复杂版本可用。谢谢!

test <- function(var){
  iris %>%
    group_by(Species) %>%
    summarise(mean(var, na.rm=TRUE))
}

【问题讨论】:

    标签: r function dplyr pipe tidyverse


    【解决方案1】:

    您只需要使用运算符{{}},这里是reference 了解更多详情。

    test<-function(var){
      iris %>% group_by(Species) %>% summarise(mean({{var}}, na.rm=TRUE))
    }
    
    test(Sepal.Width)
    
    # A tibble: 3 x 2
      Species    `mean(Sepal.Width, na.rm = TRUE)`
      <fct>                                  <dbl>
    1 setosa                                  3.43
    2 versicolor                              2.77
    3 virginica                               2.97
    

    【讨论】:

      猜你喜欢
      • 2021-08-25
      • 2019-07-30
      • 2019-06-28
      • 2015-09-26
      • 1970-01-01
      • 2013-05-01
      • 2018-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多