Skip to content

How to Save the residuals of an LM object greater or less than a certin value to an R object?

3 messages · Faiz Rasool, Jeff Newmiller, Peter Dalgaard

#
Dear list members,

I want to  save residuals above or less than a certain value to an R
object. I have performed a multiple linear regression, and now I want
to find out which cases have a residual of above + 2.5 and ? 2.5.

Below I provide the R  commands I have used.

Reg<-lm(a~b+c+d+e+f) # perform multiple regression with a as the
dependent variable.

Residuals<-residuals(reg) # store residuals to an R object.
stdresiduals<-rstandard(reg) #save the standardized residuals.
#now I want to type a  command that will save the residuals  of
certain range to an object.

I realize that by plotting  the data I can quickly  see the  residuals
outside a certain boundtry, however, I am totally blind, so visually
inspecting the plot is not possible for me.

Thank you for any help.

Regards,
Faiz.
#
Residuals are stored as a numeric vector. The R software comes with a document "Introduction to R" that discusses basic math functions and logical operators that can create logical vectors:

abs( stdresiduals ) > 2.5

It also discusses indexing using logical vectors:

stdresiduals[ abs( stdresiduals ) > 2.5 ]

Note that in most cases it is worth going  the extra step of making your example reproducible [1][2][3] because many problems arise from issues in the data or in code that you don't think is broken. 

[1] http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example

[2] http://adv-r.had.co.nz/Reproducibility.html

[3] https://cran.r-project.org/web/packages/reprex/index.html (read the vignette)
#
Also,

which( abs( stdresiduals ) > 2.5 )

will tell you which of the standardized residuals are bigger than 2.5 in absolute value. It returns a vector of indices, as in
[1] 62
[1] 2.548991


-pd