我正在尝试创建模型以从包含预测变量 x1 到 x100 和其他 200 个变量的数据“D”中预测“y”。因为没有存储所有 X,因此我不能按列调用它们。
我不能使用ctree( y ~ , data = D)
,因为其他变量,有没有办法可以参考它们 x1:100 ?在模型中?
而不是编写很长的代码
ctree( y = x1 + x2 + x..... x100)
一些建议将不胜感激。
我正在尝试创建模型以从包含预测变量 x1 到 x100 和其他 200 个变量的数据“D”中预测“y”。因为没有存储所有 X,因此我不能按列调用它们。
我不能使用ctree( y ~ , data = D)
,因为其他变量,有没有办法可以参考它们 x1:100 ?在模型中?
而不是编写很长的代码
ctree( y = x1 + x2 + x..... x100)
一些建议将不胜感激。
还有两个。我认为最简单的方法是对数据进行子集化:
ctree(y ~ ., data = D[, c("y", paste0("x", 1:100))]
或者更实用的方法来构建动态公式:
ctree(reformulate(paste0("x", 1:100), "y"), data = D)
将您的公式构造为文本字符串,并使用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, ...)
你可以使用这个:
fml = as.formula(paste("y", paste0("x", 1:100, collapse=" + "), sep=" ~ "))
ctree(fmla)