R语言 ,取得回归分析后异常值所在行行号的办法
2016-03-17 本文已影响955人
leoatchina
用于实验的数据,有几行数据是明显错误的,要去除
经常一段时间学习后,解决思路是用回归分析后,再用car包里的outlierTest函数去找出行
library(car)
fit<-lm(d~s,data=mydata)
outlierTest(fit)
但是,这样只能看到结果的一个“输出”值,outlierTest(fit)的结果甚至不能直接转成list、array、matrix、data.frame,不能把我要的“行号”取出来,用于原始数据的删除
tmp<-outlierTest(fit)
通过观察names(tmp)
names(tmp)
[1] "rstudent" "p" "bonf.p" "signif" "cutoff"
可以看出不是print出的值 ,不过,tmp[[1]]则比较接近list
Paste_Image.png那就有办法了,可以用names函数取出list名,然后用下面一句可以把不要的值给取出来
sub<-c(as.numeric(names(tmp[[1]])))