2010-09-21 54 views
17

这似乎是个简单的问题,所以我希望它的一个简单的答案。我正在绘制我的观点并拟合一个线性模型,我可以确定。然后,我想在图上绘制一些汇总统计数据,例如R平方值。我似乎只能在命令行获得R平方值。 任何建议;我需要查看ggplot还是其他任何东西?提前致谢。如何使用R在我的散点图上绘制R平方值?

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

回答

28

可以滥用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()是好的,因为有观点main=sub=plot()

+0

感谢您的快速反应。似乎工作,不要以为我会匆匆想到这件事! – phrozenpenguin 2010-09-21 15:04:42

+1

随意接受这个作为答案:) – 2010-09-21 15:28:31

+0

道歉 - 仍然习惯这一切是如何工作。我认为现在接受.. – phrozenpenguin 2010-09-23 13:13:07

7

text功能的地方文本到当前的情节,它是用于将R平方值的情节一个选项。也看grconvertXgrconvertY功能的方法来找到放置文本的位置。

corner.labelemptyspace功能在plotrix包也可能有所帮助。

+0

感谢您的替代选项。我已经习惯使用传说,所以现在就坚持下去。 – phrozenpenguin 2010-09-23 13:13:39