如何在 R 中为模型构建一个大的正则公式?
Posted
技术标签:
【中文标题】如何在 R 中为模型构建一个大的正则公式?【英文标题】:How to construct a big regular formula for a model in 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)
一些建议将不胜感激。
【问题讨论】:
【参考方案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)
【讨论】:
以上是关于如何在 R 中为模型构建一个大的正则公式?的主要内容,如果未能解决你的问题,请参考以下文章
如何在电影评级推荐系统中为我的模型准确度应用标准化均值绝对值::
R语言构建xgboost模型:使用xgboost构建广义线性模型(GLM):使用gblinear算法拟合线性模型并配置L1和L2正则化