web-dev-qa-db-fra.com

Comment puis-je tracer ma valeur R au carré sur mon nuage de points en utilisant R?

Cela semble être une question simple, donc j'espère que c'est une réponse simple. Je trace mes points et ajuste un modèle linéaire, ce que je peux faire OK. Je veux ensuite tracer quelques statistiques récapitulatives, par exemple la valeur R au carré, sur le tracé également. Je peux seulement sembler obtenir la valeur R au carré sur la ligne de commande. Aucun conseil; dois-je regarder ggplot ou autre chose? Merci d'avance.

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

Vous pouvez abuser de legend() car 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 case et vous avez besoin de format() pour raccourcir l'affichage. Autre text() est bon, tout comme les arguments main= Et sub= À plot().

31
Dirk Eddelbuettel

La fonction text place le texte dans le tracé courant, c'est une option pour ajouter la valeur r au carré à un tracé. Consultez également les fonctions grconvertX et grconvertY pour savoir comment trouver l'emplacement où placer le texte.

Les fonctions corner.label Et emptyspace dans le package plotrix peuvent également aider.

7
Greg Snow