How can I plot my R Squared value on my scatterplot using R?
This seems a simple question, so I hope its a simple answer. I am plotting my points and fitting a linear model, which I can do OK. I then want to plot some summary statistics, for example the R Squared value, on the plot also. I can only seem to get the R Squared value at the command line. Any advice; do I need to be looking at ggplot or anything else? Thanks in advance.
#Does the plot
plot(df$VAR1, df$VAR2)
#Adds the line
abline(lm(df$VAR2~df$VAR1), co开发者_JAVA技巧l="red")
#Shows stats on command line
summary(lm(df$VAR2~df$VAR1))
You can abuse legend()
because it has the handy logical placement:
R> DF <- data.frame(VAR1=rnorm(100), VAR2=rnorm(100))
R> with(DF, plot(VAR1, VAR2))
R> abline(fit <- lm(VAR2 ~ VAR1, data=DF), col='red')
R> legend("topright", bty="n", legend=paste("R2 is",
+ format(summary(fit)$adj.r.squared, digits=4)))
Here bty="n"
suppresses the box, and you need format()
to shorten the display. Other text()
is good, as are arguments main=
and sub=
to plot()
.
The text
function places text into the current plot, it is one option for adding the r-squared value to a plot. Also look at the grconvertX
and grconvertY
functions for ways to find the location to place the text.
The corner.label
and emptyspace
functions in the plotrix
package may also help.
精彩评论