[R] find and remove outlier

John Fox jfox at mcmaster.ca
Mon Jan 5 17:03:32 CET 2015


Dear Pushpa Methekar,

You can use which.max(), as in

> library(car)
> mod <- lm(prestige~ income + education, data=Duncan)
> which.max(abs(rstudent(mod)))
minister 
       6 

In fact, this is exactly what outlierTest() does, as you can see by looking at car:::outlierTest.lm

Beyond that, I'd encourage you to look more carefully at potential outliers, including at the distribution of the studentized residuals, rather than adopting a simple mechanical rule for removing outliers.

I hope this helps,
 John

------------------------------------------------
John Fox, Professor
McMaster University
Hamilton, Ontario, Canada
http://socserv.mcmaster.ca/jfox/
	
	

On Mon, 5 Jan 2015 12:20:15 +0000
 "Methekar, Pushpa (GE Transportation, Non-GE)" <pushpa.methekar at ge.com> wrote:
> 
> 
> Hi, this is my function to find rstudent of model which will give me outlier
> But I wonder if I could find out the exact no. of outlier in data set.
> Like outlierTest() does from car package .
> 
> 
> rm.outliers = function(dataset,model){
> dataset$rstudent = rstudent(model)
> for(i in 1:length(dataset$rstudent)){
>        if(dataset$rstudent[i]>=-3 & dataset$rstudent[i]<=3)
>              {print(dataset$rstudent[i])}
> else { print("this is an outlier")
>             library(car)
>        print(outlierTest(model,n.max=1, order=TRUE) )  }
> i<-i+1
> }
> }
> 
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list