在R中使用动态变量中的〜调用

问题描述 投票:1回答:1

我目前正在使用R进行回归和分类。

因此,我使用类似于X ~ Y的公式来进行有关X的预测。我现在正尝试在for循环内使用function来对代字号X侧的不同值和Y侧的常量值进行多个预测。像这样:X1 ~ YX2 ~ YX3 ~ 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的基本原理。

由于英语不是我的母语,希望您能理解我的问题,如果需要,我当然乐于进一步解释。预先感谢您的宝贵时间!

r function statistics regression classification
1个回答
0
投票

您可以尝试执行此操作,您需要将字符传递给变量。这样比较容易,如果X端有10个变量,则可以轻松地遍历它们:

© www.soinside.com 2019 - 2024. All rights reserved.