compare_means():"必须解析为整数列位置,而不是符号"在公式

时间:2017-06-27 09:16:00

标签: r

我试图用compare_means()进行方差分析。以示例数据集ToothGrowth为例,我希望实现以下目标:

#directly calling column name
compare_means(len~supp, data=ToothGrowth, group.by = "dose", method = "anova")

除了公式中的supp是字符串。

直接将字符串作为参数传递会导致模型公式出错。所以我尝试将字符串转换为名称或符号:

#convert string column name to name/symbol
x <- as.name("supp") #as.symbol("supp")
compare_means(len~x, data=ToothGrowth, group.by = "dose", method = "anova")

但两人都返回了同样的错误:

  

错误:x必须解析为整数列位置,而不是符号

我检查了类似Error All select() inputs must resolve to integer column positions. The following do not:的类似错误消息,但似乎都没有解决我的问题。

请指导我应该做什么。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

所以我看到How to use reference variables by character string in a formula?并使用

解决了问题
f <- "len~supp"
do.call("compare_means", list(as.formula(f), data=as.name("ToothGrowth"),
    group.by = "dose", method = "anova"))