4

重複の可能性:
各共変量を明示的に宣言せずに glm を使用して R で数式を指定
する データ フレームから多くの変数を含む数式を簡潔に記述する方法は?

重回帰を実行したい Y 値のベクトルと X 値の行列があります (つまり、Y = X[列 1] + X[列 2] + ... X[列 N])

問題は、行列 (N) の列数が事前に指定されていないことです。R では、線形回帰を実行するには、方程式を指定する必要があることを知っています。

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

しかし、X 行列の列数がわからない場合はどうすればよいでしょうか?

ありがとう!

4

1 に答える 1

15

柔軟性のレベルを高める 3 つの方法。

方法 1

数式表記を使用して回帰を実行します。

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

方法 2

すべてのデータを 2 つではなく、1 つの 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 は、使用する変数の名前を含む文字ベクトルです。

于 2011-11-16T19:40:21.543 に答える