2010-09-21 73 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