如何在R中的回归公式中使用变量?

如何在R中的回归公式中使用变量?,r,regression,R,Regression,如何在回归公式中使用变量 例如,使用“动物”数据集(以质量为单位),以下各项工作正常: data(Animals) model <- lm(body ~ brain, data = Animals) 数据(动物) 模型使用get函数 lm(get(x) ~ get(y), data = Animals) reformulate(y,x) # body ~ brain 您需要根据角色值生成适当的公式。在这种情况下,最简单的方法是reformate()函数 lm(get(x) ~ get

如何在回归公式中使用变量

例如,使用“动物”数据集(以质量为单位),以下各项工作正常:

data(Animals)
model <- lm(body ~ brain, data = Animals)
数据(动物)

模型使用
get
函数

lm(get(x) ~ get(y), data = Animals)
reformulate(y,x)
# body ~ brain

您需要根据角色值生成适当的公式。在这种情况下,最简单的方法是
reformate()
函数

lm(get(x) ~ get(y), data = Animals)
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  

您可以使用
lm(paste0(x,“~”,y),data=Animals)
假设您以后不需要从模型中执行类似
predict()
的操作(我假设这不是
predict()
safe?)与
lm(公式(paste0(y,“~”,x)),data=Animals)有什么区别吗
重新格式化
使术语向量的使用变得更容易:
重新格式化(c(“var1”、“var2”)、“respvar”)
,并且具有包含截取的选项。(但基本上它只是为您粘贴)。