0

列がたくさんあるデータ フレームがあるとします。lm列 1 と 2、1 と 3 などで関数を呼び出す必要があります。したがって、基本的には、モデルを構築する際に、すべての列をループして、適合の結果を保存する必要があります。私が直面している問題は次のとおりです。

lm(df[1]~df[2], data = df) #doesnt work. In this case df is the data frame object 
                           #and df[1] is the first column. 

df反復的な方法での列にアクセスする場合のように、これをループで行う良い方法は何ですか?

4

2 に答える 2

2

dfこれは、私があなたが望むものだと思う他のすべての列に対する従属変数としての回帰の最初の列の例です..

x<-1:5
y<-5:1
df<-data.frame(x,y,x,y,x,y)
df1<-df[,1]
df2<-df[,2:6]
resultslist<-lapply(df2,function(x) (lm(df1~x)))

必要な係数/出力についてより具体的である場合、この答えはより良いかもしれません

于 2012-10-03T21:53:20.237 に答える
1

応答がの最初の列である単一項線形モデルに適合するいくつかの列を循環させたいように思われる場合data.frame、次のように機能します

dat <- data.frame(matrix(rnorm(110),ncol=11))
.names <- names(dat)
.formulae <- lapply(.names[-1], reformulate, response = .names[1])
results_list <- lapply(.formulae, lm, data = dat)
于 2012-10-04T03:23:07.303 に答える