如何提取R中lm()输出$residuals的显示索引(1,3,5,6)?
提取lm残差的原始行号标识
当lm()剔除含缺失值的行后,残差向量显示的1、3、5、6其实是向量的名称属性(对应原始数据未被剔除的行号),不是实际索引。要提取这些标识存到新向量里,直接用names()函数就行:
- 提取字符型的原始行号:
row_labels <- names(outval$residuals)
运行后row_labels会得到[1] "1" "3" "5" "6"
- 如果需要数值型的结果,转一下类型:
row_labels_num <- as.numeric(names(outval$residuals))
得到[1] 1 3 5 6
原理很简单:lm返回的残差是带名称的向量,这些名称就是原始数据中保留下来的行号,直接用names()就能读取这个属性。
内容的提问来源于stack exchange,提问作者TomCon
相关产品推荐
相关产品推荐

