2

データ フレーム Data1 に 100 列のリストがあります。これらの変数の 1 つが従属変数です。その他は予測因子です。

varlist以下の式で使用するために、99 個の予測子を列 (たとえば ) に抽出する必要があります。

equation <- as.formula(paste('y', "~", paste(varlist, collapse="+"),collapse=""))

データフレームで使用dputしてすべての列を抽出できますが、リストから従属変数 y を取り除くことができませんでした:

Varlist <- dput(names(Data1)) 
4

1 に答える 1

7

別の道を行く方がはるかに適切でしょう。応答変数以外の他のすべての変数をデータ フレームに含めたい場合は、それy ~ .を指定するために使用できます。

fakedata <- as.data.frame(matrix(rnorm(100000), ncol = 100))
names(fakedata)[1] <- "y"

o <- lm(y ~ ., data = fakedata)

これは、fakedata の他の 99 列を予測値として使用し、「y」を応答として使用して回帰に適合し、それを「o」に格納します。


編集: いくつかの変数を除外したい場合は、それらをデータセットから除外できます。以下は、10 番目の列から 100 番目の列までを削除し、列 2 から 9 に y の回帰を残します。

o <- lm(y ~ ., data = fakedata[,-(10:100)])
于 2012-06-13T05:04:35.243 に答える