这个问题已经在这里有了答案:




9年前关闭。






我有一个 Y 值向量和一个 X 值矩阵,我想对其进行多元回归(即 Y = X[column 1] + X[column 2] + ... X[column N])

问题是我的矩阵 (N) 中的列数没有预先指定。我知道在 R 中,要执行线性回归,您必须指定方程:

fit = lm(Y~X[,1]+X[,2]+X[,3])

但是,如果我不知道 X 矩阵中有多少列,我该怎么做?

谢谢!

最佳答案

三种方式,在增加灵活性水平。

方法 1

使用公式符号运行回归:

fit <- lm( Y ~ . , data=dat )

方法 2

将所有数据放在一个 data.frame 中,而不是两个:
dat <- cbind(data.frame(Y=Y),as.data.frame(X))

然后使用公式符号运行回归:
fit <- lm( Y~. , data=dat )

方法 3

另一种方法是自己构建公式:
model1.form.text <- paste("Y ~",paste(xvars,collapse=" + "),collapse=" ")
model1.form <- as.formula( model1.form.text )
model1 <- lm( model1.form, data=dat )

在此示例中,xvars是一个字符向量,其中包含要使用的变量的名称。

关于r - 具有可变数量的解释变量的R中的线性回归,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8157553/

10-12 16:31
查看更多