Подтвердить что ты не робот

Как я могу нарисовать значение R Squared на моей диаграмме рассеяния, используя R?

Это кажется простым вопросом, поэтому я надеюсь, что это простой ответ. Я рисую свои очки и подгоняю линейную модель, которую я могу сделать в порядке. Затем я хочу нарисовать некоторую сводную статистику, например значение 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))
4b9b3361

Ответ 1

Вы можете использовать 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().

Ответ 2

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

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