4

可能重复:
在 R 中使用 glm 指定公式而没有显式声明每个协变量
如何简洁地编写包含来自数据帧的许多变量的公式?

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

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

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

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

谢谢!

4

1 回答 1

15

三种方式,提高灵活性。

方法一

使用公式符号运行回归:

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

方法二

将所有数据放在一个 data.frame 中,而不是两个:

dat <- cbind(data.frame(Y=Y),as.data.frame(X))

然后使用公式符号运行回归:

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

方法三

另一种方法是自己构建公式:

model1.form.text <- paste("Y ~",paste(xvars,collapse=" + "),collapse=" ")
model1.form <- as.formula( model1.form.text )
model1 <- lm( model1.form, data=dat )

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

于 2011-11-16T19:40:21.543 回答