[英]How do you use variables in a regression formula in R?
您如何在回归公式中使用变量?
例如,使用“动物”数据集(在MASS中),可以很好地进行以下工作:
data(Animals)
model <- lm(body ~ brain, data = Animals)
但是我想做的是:
data(Animals)
x <- "body"
y <- "brain"
model <- lm(x ~ y, data = Animals)
这显然行不通,但是我无法弄清楚我需要做什么。 最终,我试图将公式放入循环中,并使其每次运行都有所不同。
抱歉,答案很明显-我已经搜索过,但无法解决。
非常感谢
使用get
功能
lm(get(x) ~ get(y), data = Animals)
您需要根据您的字符值制定一个正确的公式。 在这种情况下,最简单的方法是reformulate()
函数
reformulate(y,x)
# body ~ brain
那么您可以在lm()
调用中使用它
lm(reformulate(y,x), data = Animals)
#
# Call:
# lm(formula = reformulate(y, x), data = Animals)
#
# Coefficients:
# (Intercept) brain
# 4316.32258 -0.06594
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.