[英]Remove dependent variable from formula for model.matrix
我正在学习如何处理model.matrix
。 例如,要创建样本外预测,我从模型中提取公式,说它是线性模型。 使用函数formula(mymodel)
提取:
form <- formula(y ~ x1 + x2 * x3)
现在,要创建预测,我需要不带y
的model.matrix。 我可以手动输入:
X <- model.matrix(~ x1 + x2 * x3, data=out.of.sample.data)
但是,有没有办法使用例如update
来摆脱公式的左侧部分?
谢谢!
可以通过将response变量设置为NULL
来完成update
:
form <- formula(y ~ x1 + x2 * x3)
newform <- update(form, NULL ~ .)
这就是我通常这样做的方式。 我不知道此功能的内置功能。
df = data.frame(y=rnorm(10), x1=rnorm(10), x2=rnorm(10), x3=rnorm(10))
mymodel = lm(y ~ x1 + x2 + x3, df)
form_vars_only =
formula(paste("~",strsplit(as.character(formula(mymodel)),"~")[[3]]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.