Как я могу построить свое значение R Squared на графике рассеяния, используя R? - PullRequest
17 голосов
/ 21 сентября 2010

Это кажется простым вопросом, поэтому я надеюсь, что это простой ответ.Я строю свои точки и подгоняю линейную модель, что я могу сделать хорошо.Затем я хочу вывести на график некоторую сводную статистику, например значение R Squared.Я могу только получить значение R Squared в командной строке.Любой совет;мне нужно смотреть на ggplot или что-то еще?Заранее спасибо.

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

Ответы [ 2 ]

30 голосов
/ 21 сентября 2010

Вы можете злоупотреблять 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().

7 голосов
/ 21 сентября 2010

Функция text помещает текст в текущий график, это один из вариантов добавления значения r в квадрат к графику. Также обратите внимание на функции grconvertX и grconvertY, чтобы найти способы найти место для размещения текста.

Функции corner.label и emptyspace в пакете plotrix также могут помочь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...