How can I plot my R Squared value on my scatterplot using R?

喜你入骨 提交于 2019-11-30 06:36:49

问题


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), col="red")
#Shows stats on command line
summary(lm(df$VAR2~df$VAR1))

回答1:


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().




回答2:


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.



来源:https://stackoverflow.com/questions/3761410/how-can-i-plot-my-r-squared-value-on-my-scatterplot-using-r

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!