2

我正在尝试在 R 中创建一个公式,形式为

Output~Var1+Var2+Var3

用于模型。它似乎工作的方式是你给出你想要预测的变量名称,波浪号,你想要用作预测变量的变量名称,然后在后面的参数中你给出包含这些变量观察的数据框。但是,我正在使用的数据框中有很多变量,我不想将它们全部输入。这些变量也相对频繁地更改名称,因此不断更改我的代码将是一种努力。本质上,我想知道怎么写

Output~(All the variables that aren't the output)

尽管我还需要排除一些其他变量。抱歉说得这么清楚,我不知道发生了什么, ?formula 没有太大帮助,这与我以前见过的任何其他编程或 R 结构都不一样。

谢谢你的帮助,

ñ

4

2 回答 2

5

啊,我找到了一个更好的解决方案:函数

reformulate(termlabels = colnames(InputTable), response = 'Prediction')

将从您提供的字符串创建一个公式。根据需要操作列名,以动态选择模型中使用的变量。

于 2012-12-23T12:58:28.810 回答
1

实际上, ?formula 文档提供了一种可能的答案。然而,它非常“hacky”,也是我能想象到的最不愉快的实现方式之一

## Create a formula for a model with a large number of variables:
xnam <- paste0("x", 1:25)
(fmla <- as.formula(paste("y ~ ", paste(xnam, collapse= "+"))))

即,您只需将一个字符串粘贴在一起并将其用作您的公式。

于 2012-12-23T12:30:00.257 回答