You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R线性回归残差赋值行数不匹配及残差散点图x轴设置问题

问题1:残差赋值提示行数不一致的解决方法

  • 报错原因:lm()函数运行时会自动剔除回归变量(intp.trust、age)中包含缺失值的行,因此生成的残差长度小于原始数据框Scountry的行数,赋值时就会出现长度不匹配的错误。
  • 解决步骤:
    1. 先手动剔除回归用到的核心变量的缺失值,得到干净的分析数据集:
    # 保留回归用到的三个变量都无缺失的行
    Scountry_clean <- na.omit(Scountry[, c("intp.trust", "age", "gender")])
    
    1. 基于清洗后的数据集重新拟合线性回归:
    lm.intp <- lm(intp.trust~age, data=Scountry_clean)
    
    1. 此时残差长度和清洗后数据集行数完全匹配,可以直接赋值:
    Scountry_clean$res <- lm.intp$residuals
    

问题2:ggplot散点图x参数的填写方法

不需要提前新增观测ID列,直接用观测的行序号作为x轴即可,对应aes()中x参数填写seq_along(res),或者直接填行号序列1:nrow(Scountry_clean)都可以,最终绘图代码如下:

ggplot(Scountry_clean, aes(x = seq_along(res), y = res, color = as.factor(gender))) +
  geom_point() +
  labs(x = "观测序号", y = "回归残差", color = "性别") # 可按需调整坐标轴标签

如果希望x轴对应原始数据的行号,也可以写成x = as.integer(rownames(Scountry_clean))。

内容的提问来源于stack exchange,提问作者Xingchen LIU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 16:06:05