如何使Tidyverse中的自定义函数更具可读性?

我有一个data.frame不同的变量,需要summarised使用不同的度量。

我正在寻找一个易于阅读的等价物,

baseline_table <- function(data,var) {
        
        data %>% 
                group_by(Species) %>% 
                summarise(
                        !!sym(paste(var, "_mean", sep = "")) := !!sym(var) %>% mean(na.rm = TRUE),
                        !!sym(paste(var, "_sd", sep = ""))   := !!sym(var) %>% sd(na.rm = TRUE)
                )
        
}

iris %>% 
        baseline_table(var = "Sepal.Length")

回答

您可以使用glue语法使其更具可读性。

baseline_table <- function(data, var) {
        
        data %>% 
                group_by(Species) %>% 
                summarise(
                        "{{var}}_mean" := mean({{ var }}, na.rm = TRUE),
                        "{{var}}_sd"   := sd({{ var }}, na.rm = TRUE)
                )
        
}

iris %>% 
        baseline_table(var = Sepal.Length)


以上是如何使Tidyverse中的自定义函数更具可读性?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>