2010-09-21 15 views
17

Parece una pregunta simple, así que espero que sea una respuesta simple. Estoy tramando mis puntos y ajustando un modelo lineal, que puedo hacer bien. Entonces quiero trazar algunas estadísticas de resumen, por ejemplo, el valor de R Squared, en la trama también. Solo puedo obtener el valor de R Squared en la línea de comando. Cualquier consejo; ¿Debo estar mirando ggplot o cualquier otra cosa? Gracias por adelantado.¿Cómo puedo trazar mi valor de R Squared en mi diagrama de dispersión usando 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)) 

Respuesta

28

Puede abusar legend() porque tiene lógica la colocación a mano:

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

Aquí bty="n" suprime el cuadro, y lo que necesita para acortar format() la pantalla. Otro text() es bueno, como son los argumentos main= y sub= a plot().

+0

Gracias por la respuesta rápida. Parece que funciona, ¡no creo que hubiera pensado en eso a toda prisa! – phrozenpenguin

+1

Siéntase libre de aceptar esto como la respuesta :) –

+0

Disculpas: todavía me estoy acostumbrando a cómo funciona todo esto. Creo que eso es aceptado ahora ... – phrozenpenguin

7

La función text coloca texto en el trazado actual, es una opción para agregar el valor r-cuadrado a un trazado. Consulte también las funciones grconvertX y grconvertY para encontrar la ubicación donde colocar el texto.

Las funciones corner.label y emptyspace en el paquete plotrix también pueden ayudar.

+0

Gracias por la opción alternativa. Ya estoy acostumbrado a usar leyenda, así que me quedaré con eso por ahora. – phrozenpenguin

Cuestiones relacionadas