[R] re flecting a line

Nordlund, Dan (DSHS/RDA) NordlDJ at dshs.wa.gov
Wed Sep 10 23:31:30 CEST 2008


> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of David Epstein
> Sent: Wednesday, September 10, 2008 1:06 PM
> To: r-help at r-project.org
> Subject: [R] re flecting a line
> 
> 
> Suppose x and y are numeric vectors of the same length.
> 
> plot(x,y) #scatterplot
> lmObj1 <- lm(y~x) # best fit line
> abline(lmObj1) # good
> lmObj2 <- lm(x~y) #get best fit but with axes interchanged
> abline(lmObj2) # not what I want. I want the correct line, 
> drawn on the same
> graph, but with
>                     # response and predictor variables interchanged
> 
> One way to proceed would be to extract the intercept and 
> slope from lmObj2
> and then do the arithmetic to draw the correct line. I'm 
> hoping for a more
> streamlined method. Is there one?
> 
> Thanks
> David

Is something like this what you are looking for?

x <- 1:100
y <- 10 + x + 10*rnorm(100)

plot(y~x)
fit1.lm <- lm(y~x)
abline(fit1.lm, col='blue')
fit2.lm <- lm(x~y)
abline(-coef(fit2.lm)[1]/coef(fit2.lm)[2], 1/coef(fit2.lm)[2], col='red')


Hope this is helpful,

Dan

Daniel J. Nordlund
Washington State Department of Social and Health Services
Planning, Performance, and Accountability
Research and Data Analysis Division
Olympia, WA  98504-5204
 
 



More information about the R-help mailing list