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

如何在R中输出DFBETAS检验结果为TRUE的记录编号?

解决方案

首先补充样本量n的定义,然后通过以下方法提取符合条件的记录编号:

  1. 完整修正代码:
model1 <- lm(price~area+bedrooms+bathrooms+stories, data = house)
n <- nrow(house) # 定义样本量
DFBETAS <- dfbetas(model1)
# 标记任意系数DFBETAS超出阈值的记录
outlier_rows <- apply(abs(DFBETAS) > 2/sqrt(n), 1, any)
# 提取对应的记录编号
which(outlier_rows)
  1. 按单个系数提取异常记录
    如果需要单独查看某一系数(比如area)对应的异常记录,可直接用:
which(abs(DFBETAS[,"area"]) > 2/sqrt(n))

说明

  • apply(..., 1, any)会逐行检查:只要该行有任意一个系数的DFBETAS绝对值超过2/sqrt(n),就标记为TRUE
  • which()函数会返回所有标记为TRUE的行号,也就是你需要的目标记录编号

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:12:34