繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM