我正在尝试在R中创建一个
形式的公式 Output~Var1+Var2+Var3
用于模型。它似乎工作的方式是你给你想要预测的变量名,波浪号,你想要用作预测变量的变量名,然后在后面的参数中给出包含这些变量的观察的数据框。我使用的数据框中有相当多的变量,我不想全部输入。这些变量也会相对频繁地更改名称,因此需要不断更改代码。从本质上讲,我想知道如何写
Output~(All the variables that aren't the output)
虽然我也需要排除其他一些变量。 很抱歉让我非常清楚我不知道发生了什么,?公式没有太多帮助,这与我以前见过的任何其他编程或R结构不同。
感谢您的帮助,
<磷>氮答案 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= "+"))))
即,您只需粘贴一个字符串并将其用作公式即可。