2010-09-21 20 views
17

Cela semble une question simple, alors j'espère que c'est une réponse simple. Je suis en train de tracer mes points et d'ajuster un modèle linéaire, que je peux faire OK. Je veux ensuite tracer quelques statistiques sommaires, par exemple la valeur R Squared, sur l'intrigue aussi. Je peux seulement sembler obtenir la valeur R Squared à la ligne de commande. Des conseils; dois-je regarder ggplot ou autre chose? Merci d'avance.Comment puis-je tracer ma valeur R Squared sur mon diagramme de dispersion en utilisant 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)) 

Répondre

28

Vous pouvez abuser legend() parce qu'il a le placement logique pratique:

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

Ici bty="n" supprime la boîte, et vous avez besoin format() de réduire l'affichage. Autre text() est bon, comme le sont les arguments main= et sub= à plot().

+0

Merci pour la réponse rapide. Semble travailler, ne pense pas que je l'aurais pensé à la hâte! – phrozenpenguin

+1

N'hésitez pas à accepter cela comme réponse :) –

+0

Excuses - encore s'habituer à comment tout cela fonctionne. Je pense que c'est accepté maintenant .. – phrozenpenguin

7

La fonction text place le texte dans le tracé actuel, c'est une option pour ajouter la valeur r-carré à un tracé. Regardez également les fonctions grconvertX et grconvertY pour trouver l'emplacement où placer le texte. Les fonctions corner.label et emptyspace du package plotrix peuvent également vous aider.

+0

Merci pour l'option alternative. Je suis déjà habitué à utiliser la légende, donc je m'en tiendrai là pour l'instant. – phrozenpenguin