如何解决当公式由字符串给出时如何运行回归?
让我们考虑以下数据:
set.seed(42)
y <- runif(100)
df <- data.frame("Exp" = rexp(100),"norm" = rnorm(100),"Wei" = rweibull(100,1))
我想执行线性回归,但当公式是格式字符串时:
form <- "Exp + norm + Wei"
我以为我只需要使用:
as.formula(lm(y~form,data = df))
但是它不起作用。错误是关于变量长度的变化。 (似乎它仍然将表单视为长度为 1 的字符串向量,但我不知道为什么)。
你知道我该怎么做吗?
解决方法
我们可以用paste
来构造公式,直接在lm
上使用
lm(paste('y ~',form),data = df)
-输出
#Call:
#lm(formula = paste("y ~",data = df)
#Coefficients:
#(Intercept) Exp Norm Wei
# 0.495861 0.026988 0.046689 0.003612
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。