我试图用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:的类似错误消息,但似乎都没有解决我的问题。
请指导我应该做什么。任何帮助将不胜感激!
答案 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"))