[R] Display Equation on plot

Matthieu Dubois matthdub at gmail.com
Tue Mar 24 18:16:06 CET 2009


Douglas M. Hultstrand <dmhultst <at> metstat.com> writes:

> 
> Hello,
> 
> I am using the lm to fit a linear model to data, I was wondering if 
> there is a way to display the equation on a plot using the extracted lm 
> coefficients?  I am using the plot() function to create the plot/.png.
> 
> Example:
> lm_mod <- lm(data1~data2)
> 
> intercept = 48.54
> slope = 0.4856
> 
> I want to display equation on a plot as y=0.4856x+48.54

see ?bquote for building the equation expression
and ?mtext to display text within margins

e.g.
# generate random x and y values
x <- rnorm(100)
y <- 3*x+15 + rnorm(x)

lm_mod <- lm(y ~ x)

plot(x, y)
abline(lm_mod) # add regression line to the plot

lm_coef <- round(coef(lm_mod), 3) # extract coefficients
mtext(bquote(y == .(lm_coef[2])*x + .(lm_coef[1])), 
adj=1, padj=0) # display equation

regards, 

Matthieu




More information about the R-help mailing list