r - 使用 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)
但它仍然不起作用,我在哪里弄错了?谢谢!