14

重回帰モデルがあります。data.frame適合値と残差を2 つの新しい列として元に追加したいと考えています。どうすればそれを達成できますか?R での私のモデルは次のようになります。

BD_lm <- lm(y ~ x1+x2+x3+x4+x5+x6, data=BD)
summary(BD)

適合値も取得しました

BD_fit<-fitted(BD_lm)

BD_fitしかし、この値を列として元のデータに追加したいと考えていますBD。方法がわかりません。に電話しようとするとBD_fit、たくさんの番号が表示されました。私は大規模なデータセットを実行しているため、ここにすべてをリストすることは困難です。

4

3 に答える 3

25

仮定する:

fm <- lm(demand ~ Time, BOD)

次に、これを試してください:

cbind(BOD, resid = resid(fm), fitted = fitted(fm))

またはこれ:

BOD$resid <- resid(fm)
BOD$fitted <- fitted(fm)

追加した:

NA値がある場合demand、適合値と残差はデータの行数とは異なる長さになります。つまり、上記は機能しません。このような場合は、次のna.excludeように使用します。

BOD$demand[3] <- NA # set up test data
fm <- lm(demand ~ Time, BOD, na.action = na.exclude)

na.excludeNA元のデータと同じ長さになるように、予測と残差に値が自動的にパディングされます。これで、前の行が機能するはずです。

于 2013-09-28T10:32:35.183 に答える
0
BD_fit<-data.frame(BD_fit)
BD$fit<-BD_fit[1]
于 2013-09-30T22:29:10.030 に答える