【问题标题】:Are residuals in linear regression following same order of original data frame row?线性回归中的残差是否遵循原始数据框行的相同顺序?
【发布时间】:2013-12-10 22:47:33
【问题描述】:

拟合多元线性回归模型后,我想将残差与原始数据框合并。但我发现残差是一个向量,每个残差都没有附加原始行名。

残差是否遵循原始数据框的行名顺序? 有没有办法检查这个通信?

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”。如何确保合并发生在具有相同行名的行上?

【问题讨论】:

  • 一些示例代码/数据会很好地解决这个问题。简短的回答是残差的顺序与原始数据的顺序相同,除非您的数据包含从模型拟合中排除的缺失值。
  • 谢谢 Marius,我已经编辑了我的问题。

标签: r merge dataframe lm


【解决方案1】:

为了让自己确信它们的顺序是正确的,您可以像这样运行一个快速的图形检查:

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

【讨论】:

    猜你喜欢
    • 2017-05-19
    • 2021-04-01
    • 2020-08-15
    • 1970-01-01
    • 2019-05-15
    • 2013-07-17
    • 2020-06-16
    • 1970-01-01
    • 2021-02-06
    相关资源
    最近更新 更多