首页 > 解决方案 > 使用 tidyverse 在函数中获取特定的列名

问题描述

我正在尝试编写一个函数来获取跨各种数据帧的一些实验室值。但是,当我尝试通过取平均值来总结实验室值时,我遇到了麻烦summarise()。我试图运行deparse(substitute(y)),但它似乎不起作用。我不知道如何以 tidyverse 识别的方式识别我的 y 变量。

obtain_labvalues <- function(df,y){
  baseline <- df %>% group_by(serial_no) %>%
    filter(ref_date %within% interval(diagnosis- months(6),diagnosis)) %>%
    filter(ref_date == max(ref_date)) %>%
    summarize(across(!!y, mean)) %>%
    arrange(serial_no)}

我尝试为一个名为 bmi 的 df 运行这段代码,而我想要取平均值的变量是 bmi:mean_df <- obtain_labvalues(bmi,bmi)但它仍然不起作用,我在哪里弄错了?谢谢!

标签: rtidyverse

解决方案


推荐阅读