【问题标题】:How to construct a big regular formula for a model in R?如何在 R 中为模型构建一个大的正则公式?
【发布时间】:2013-06-25 09:23:38
【问题描述】:
我正在尝试创建模型以从包含预测变量 x1 到 x100 和其他 200 个变量的数据“D”预测“y”。因为没有存储所有 X,因此我不能按列调用它们。
我不能使用 ctree( y ~ , data = D) 因为其他变量,有没有办法可以引用它们 x1:100 ?在模型中?
而不是写很长的代码
ctree( y = x1 + x2 + x..... x100)
一些建议将不胜感激。
【问题讨论】:
标签:
r
variables
regression
modeling
prediction
【解决方案1】:
还有两个。我认为最简单的方法是对数据进行子集化:
ctree(y ~ ., data = D[, c("y", paste0("x", 1:100))]
或者更实用的方法来构建动态公式:
ctree(reformulate(paste0("x", 1:100), "y"), data = D)
【解决方案2】:
将您的公式构造为文本字符串,并将其转换为as.formula。
vars <- names(D)[1:100] # or wherever your desired predictors are
fm <- paste("y ~", paste(vars, collapse="+"))
fm <- as.formula(fm)
ctree(fm, data=D, ...)
【解决方案3】:
你可以用这个:
fml = as.formula(paste("y", paste0("x", 1:100, collapse=" + "), sep=" ~ "))
ctree(fmla)