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

17

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

2 ответа

29

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

    
ответ дан Dirk Eddelbuettel 21.09.2010 в 16:48
  • Спасибо за быстрый ответ. Кажется, работает, не думаю, что я бы подумал об этом в спешке! –  phrozenpenguin 21.09.2010 в 17:04
  • Не стесняйтесь принять это как ответ :) –  Dirk Eddelbuettel 21.09.2010 в 17:28
  • Извинения - все еще привыкают к тому, как все это работает. Я думаю, что это принято сейчас .. –  phrozenpenguin 23.09.2010 в 15:13
  • Никаких извинений не требуется. В какой-то момент каждый из нас был здесь новым, и мы все учимся вместе. –  Dirk Eddelbuettel 23.09.2010 в 16:07
7

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

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

    
ответ дан Greg Snow 21.09.2010 в 17:13
  • Спасибо за альтернативный вариант. Я уже привык к использованию легенды, поэтому на этом все равно останется. –  phrozenpenguin 23.09.2010 в 15:13