【发布时间】:2019-12-16 06:13:27
【问题描述】:
我想使用 ggpubr 包来引用在我的全局环境中的字符串中列出的数据框列名,但 ggpubr 似乎不接受变量,只接受硬编码的列名。有没有办法我可以进行任何更改以便它可以做到这一点?
vars = c('var1', 'var2')
controls = c('a', 'w')
df = data.frame(subject = 1:100,
value = rnorm(100, 100, 10),
var1 = rep(c('a', 'b'), 50),
var2 = rep(c('w', 'x', 'y', 'z'), 25))
library(ggpubr)
compare_means(value ~ vars, df, ref.group = 'a')
但我希望能够用 var[1]、var[2] 等替换“vars”,对于 ref.group = controls[1]、controls[2] 也是如此。我可以让 ggpubr 引用全局环境对象,而不是直接将输入作为列名吗?
【问题讨论】:
-
使用公式接口,您大概可以将公式构建为字符串并在其上使用
as.formula。my_form = as.formula(paste(vars[1], vars[2], sep = "~")),然后是compare_means(my_form, df, ref.group = 'a')。从未使用过ggpubr,因此未经测试。
标签: r environment-variables ggpubr