2013-12-10 70 views
2

在我擬合多重線性迴歸模型後,我想合併殘差與原始數據框。但是我發現殘差是一個向量,它沒有附加到每個殘差的原始行名稱。原始數據幀行的順序是否與原始數據幀行相同?

殘差是否與原始數據框的行名相同? 有沒有辦法檢查這種通信?

dat <- read.table("myData.txt", header = T) 
dat.str <- data.frame(dat$response, dat$v1, dat$v2) 
dat.lm <- lm(dat.str$response ~ dat$v1 + dat$v2) 
dat.residual <- residuals(dat.lm) 

現在我想合併dat.residual回到「dat」。我如何確保合併發生在具有相同rownames的行上?

+2

一些示例代碼/數據將有利於這一問題。簡短的答案是殘差與原始數據的順序相同*,除非*您的數據缺少從模型擬閤中排除的值。 – Marius

+0

感謝Marius,我編輯了我的問題。 – user2783615

回答

5

安慰自己,他們是按照正確的順序,你可以運行一個快速的圖形檢查這樣的:

m <- lm(mpg~hp, data=mtcars) 
plot(predict(m) + residuals(m) ~ dat$mpg, data=mtcars) 

enter image description here

+0

太棒了!謝謝喬希! – user2783615

相關問題