【发布时间】:2020-07-01 09:40:34
【问题描述】:
我最近开始使用 R 来处理我的研究数据(并且绝对没有后悔离开 SPSS)并且找不到解决以下问题的方法: 我创建了一个函数,该函数通过二进制变量对我的数据进行分组(患者是否患有某种类型的并发症是/否?-> reg_var)并在与二进制变量相关联的连续变量上运行 dplyr 的汇总函数(提到的并发症的估计风险有多高 -> reg_yr)。 我现在想为多对变量(例如 compare(reg_var1, reg_yr1)、compare(reg_var2, reg_yr2) 和 compare(reg_var3, reg_yr3))运行这个函数,并创建多个我可以稍后合并的小标题。 我创建了两个包含变量名称的向量(v_reg_var 和 v_reg_yr)。
library(tidyverse)
# Create a function to calculate and compare est. risk percentages
# of patients with/without actual complications
compare <-function(reg_var, reg_yr) {
datatable %>%
group_by(.data[[reg_var]]) %>%
summarise(
n(), mean(.data[[reg_yr]]), sd(.data[[reg_yr]]), median(.data[[reg_yr]]), min(.data[[reg_yr]]), max(.data[[reg_yr]]),
"25%" = quantile(.data[[reg_yr]], probs = 0.25),
"50%" = quantile(.data[[reg_yr]], probs = 0.5),
"75%" = quantile(.data[[reg_yr]], probs = 0.75))
}
v_reg_var <- c[reg_var1, reg_var2, reg_var3, …)
v_reg_yr <- c[reg_yr1, reg_yr2, reg_yr3, …)
# Now if I run compare() using two vectors which only contain one character string it works just
# fine but unfortunately if I run compare(v_reg_var, v_reg_yr), I receive the following error:
compare(v_reg_var, v_reg_yr)
Error: Problem with \mutate()` input `..1`.`
x Must subset the data pronoun with a string
ℹ Input \..1` is `<unknown>`.`
如果有人能提示我在这里做错了什么,或者有更优雅的解决方案,那就太好了。
【问题讨论】: