推广在R中创建公式

时间:2012-12-23 11:45:15

标签: r formula modeling tilde

我正在尝试在R中创建一个

形式的公式

Output~Var1+Var2+Var3

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

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

虽然我也需要排除其他一些变量。 很抱歉让我非常清楚我不知道发生了什么,?公式没有太多帮助,这与我以前见过的任何其他编程或R结构不同。

感谢您的帮助,

<磷>氮

2 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:1)

实际上,?公式文档提供了一个可能的答案。然而,它是非常'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= "+"))))

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