我有一个 Y 值向量和一个 X 值矩阵,我想对其执行多元回归(即 Y = X[column 1] + X[column 2] + ... X[column N])
问题是我的矩阵(N)中的列数没有预先指定。我知道在 R 中,要执行线性回归,您必须指定方程:
fit = lm(Y~X[,1]+X[,2]+X[,3])
但是,如果我不知道我的 X 矩阵中有多少列,我该怎么做呢?
谢谢!
我有一个 Y 值向量和一个 X 值矩阵,我想对其执行多元回归(即 Y = X[column 1] + X[column 2] + ... X[column N])
问题是我的矩阵(N)中的列数没有预先指定。我知道在 R 中,要执行线性回归,您必须指定方程:
fit = lm(Y~X[,1]+X[,2]+X[,3])
但是,如果我不知道我的 X 矩阵中有多少列,我该怎么做呢?
谢谢!
三种方式,提高灵活性。
方法一
使用公式符号运行回归:
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 是一个字符向量,其中包含您要使用的变量的名称。