Как я могу нарисовать значение 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))
Ответы
Ответ 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
также могут помочь.