[R] 'substitute' question
Stephen Tucker
brown_emu at yahoo.com
Tue Mar 13 14:17:50 CET 2007
hi,
your first argument to substitute should be an expression, not a character
string (which the output of paste() will give you)
so...
# first assign to variable r2 (think you forgot to do that)
# in your example
r2 <- summary(lm1)$r.squared
# then to your label
R2text <- substitute(R^2==r2,list(r2=round(r2,2)))
# then you can annotate with text() as you did
alternatively, you can use
R2text <- bquote(R^2==.(round(r2,2)))
--- remko duursma <remkoduursma at hotmail.com> wrote:
>
> # I use this code to label a graph with the R2:
>
> # graph
> x <- rnorm(100)
> y <- x + rnorm(100)
> lm1 <- lm(y~x)
> plot(x,y)
>
> # label
> R2text <- substitute(paste(R^2," = ",r2),list(r2=r2))
> text(1,-3,R2text, col="red")
>
> # i have modified this a bit, so that i have a vector with other labels,
> each of which
> # will be labelled on the graph. Example:
> texts <- c("And the R2 is", R2text)
> x <- c(-2,-2)
> y <- c(2,1)
> for(i in 1:length(texts))text(x[i],y[i],texts[i],pos=4, col="blue")
>
> # As you can see the label "R2 = 48.7" remains at "paste(R^2, " = ", 48.7)"
> # What to do?
>
>
>
> Thanks for your help,
>
> Remko
>
>
>
> ..-~-.-~-.-~-.-~-.-~-.-~-.-~-.-~-.-~-
> Remko Duursma
> Post-doctoral researcher
> Dept. Forest Ecology
> University of Helsinki, Finland
>
> _________________________________________________________________
> With tax season right around the corner, make sure to follow these few
> simple tips.
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> 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.
>
____________________________________________________________________________________
Finding fabulous fares is fun.
More information about the R-help
mailing list