我目前正在使用R进行回归和分类。
因此,我使用类似于X ~ Y
的公式来进行有关X的预测。我现在正尝试在for循环内使用function来对代字号X侧的不同值和Y侧的常量值进行多个预测。像这样:X1 ~ Y
X2 ~ Y
X3 ~ Y
如果X1,X2,X3和Y都是重要的数据列(data $ X1
所以如何在〜表达式内动态选择一个变量?我已经尝试过类似的方法,但是它不起作用:
# referring to "iris" data set with columns (Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, Species)
getFormula <- function(variable){
variable ~ Sepal.Length + Sepal.Width + Species
}
petal.length.formula <- getFormula(Petal.Length)
petal.width.formula <- getFormula(Petal.Width)
我明白了:
petal.length.formula: variable ~ Sepal.Lenght + Sepal.Width + Species
petal.width.formula: variable ~ Sepal.Lenght + Sepal.Width + Species
但我想实现这一目标:
petal.length.formula: Petal.Length ~ Sepal.Lenght + Sepal.Width + Species
petal.width.formula: Petal.Width ~ Sepal.Lenght + Sepal.Width + Species
由于我在Y侧有40多个变量,在X侧有10个变量,所以手动键入每个公式真的很麻烦。有人可以帮我解决这个问题吗?
我找不到相似的问题,因为我很难找出我必须使用的关键字才能找到相关信息。
[如果可能的话,我不愿使用任何其他库,因为我是R的新手,想先弄清楚R的基本原理。
由于英语不是我的母语,希望您能理解我的问题,如果需要,我当然乐于进一步解释。预先感谢您的宝贵时间!
您可以尝试执行此操作,您需要将字符传递给变量。这样比较容易,如果X端有10个变量,则可以轻松地遍历它们: