繁体   English   中英

从model.matrix的公式中删除因变量

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

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