2013-12-10 49 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

相关问题