如何使用R在散点图上绘制R平方值?

20

这似乎是一个简单的问题,所以我希望它有一个简单的答案。我正在绘制我的点并拟合线性模型,这个我可以做得很好。然后我想在图上绘制一些汇总统计数据,例如R平方值。但我只能在命令行中获得R平方值。有什么建议吗?我需要查看ggplot或其他东西吗?提前感谢。

#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))
2个回答

34

您可以滥用 legend(),因为它具有方便的逻辑位置:

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

bty="n" 抑制了边框,你需要使用format()来缩短显示。其他的text()很好,同时plot()main=sub=参数。


谢谢您的快速回复。看起来可以工作,我觉得我匆忙之中不会想到那个! - phrozenpenguin
抱歉 - 我还在适应这一切的工作方式。我认为现在已经被接受了。 - phrozenpenguin
2
不需要道歉。我们每个人都曾经是新手,而且我们一起学习。 - Dirk Eddelbuettel

7

text函数可以将文本放入当前绘图中,这是向绘图添加R平方值的一种选项。还可以查看grconvertXgrconvertY函数,以找到放置文本的位置。

plotrix包中的corner.labelemptyspace函数也可能有所帮助。


谢谢提供另外的选项。我已经习惯使用 Legend,所以目前会继续使用它。 - phrozenpenguin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接