2013-06-27 18 views
4

我想创建模型来预测从包含预测器x1到x100和其他200个变量的数据“D”中的“y”。因为所有的X都不存储,所以我不能按列来调用它们。如何为R中的模型构造一个大规则公式?

我不能使用ctree(y ~ , data = D)因为其他变量,有没有办法可以引用他们x1:100?在模型中?

,而不是写一个很长的代码

ctree(y = x1 + x2 + x..... x100) 

一些建议,将不胜感激。

回答

4

将公式构建为文本字符串,并将其转换为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, ...) 
2

您可以使用此:

fml = as.formula(paste("y", paste0("x", 1:100, collapse=" + "), sep=" ~ ")) 
ctree(fmla) 
8

两个。在我的脑海里最简单的是子集数据:

ctree(y ~ ., data = D[, c("y", paste0("x", 1:100))] 

或者一个功能更强大的方法来构建动态公式:对于`reformulate`

ctree(reformulate(paste0("x", 1:100), "y"), data = D) 
+0

+1 –