R. в квадрате от модели в R

#r #model #statistics

Вопрос:

Я пытаюсь рассчитать R^2 и СМЕЩЕНИЕ для моей модели. Будет ли функция lm() в r вычислять правильный квадрат r для такого рода данных или в этом случае я должен использовать другой подход?

lm(data = mydata, field ~ model)

 > mydata
           dt       field        model
1  2008-02-21   0.7766415 8.720998e-05
2  2008-02-27   0.9316507 4.059667e-05
3  2008-03-07   0.9954676 2.168858e-05
4  2008-03-12   8.1711261 2.711445e-05
5  2008-03-19   1.8875487 3.148428e-04
6  2008-03-23  13.7546578 2.571265e-03
7  2008-04-09   8.4531061 2.491486e 01
8  2008-04-16 157.4468586 5.337512e 01
9  2008-04-20  72.7021683 5.959968e 01
10 2008-04-23 164.8639346 6.262574e 01
11 2008-04-25  19.4205976 6.466555e 01
12 2008-04-29  29.7036234 6.894880e 01
13 2008-04-30  79.0754943 7.005220e 01
14 2008-05-02   8.0940597 7.227196e 01
15 2008-05-04  67.7835286 7.454248e 01
16 2008-05-09 148.7718404 8.025791e 01
17 2008-05-14  73.8772608 8.534679e 01
18 2008-05-19  12.1967041 8.825417e 01
19 2008-05-28  42.1169176 8.418975e 01
20 2008-06-03  57.3468348 7.561152e 01
21 2008-06-09  37.6524699 6.689904e 01
22 2008-07-12  15.9032723 1.545580e 00
23 2008-07-18   4.5106704 5.650615e-01
 

Модель r ggplot2 и полевые данные

Спасибо!

Комментарии:

1. summary(lm(data = mydata, field ~ model))$adj.r.squared чтобы скорректировать R^2

2. Почему этот квадрат r был бы неправильным? Вы можете извлечь r.в квадрате из summary функции, как только вы выполнили lm .

3. Это вполне может быть правильным. Я просто не знаком с использованием функции lm() для различных типов данных. Спасибо.

Ответ №1:

R2 и другие статистические данные вычисляются вызовом summary(lm) , их можно извлечь следующим образом:

 mydata <- read.delim("mydata.txt")

lm <- lm(field ~ model, mydata)

summary(lm) # see R2 = 0.2458

#Call:
#lm(formula = field ~ model, data = mydata)
#
#Residuals:
#    Min      1Q  Median      3Q     Max 
#-65.600 -22.314  -8.323   4.025 106.694 
#
#Coefficients:
#            Estimate Std. Error t value Pr(>|t|)   
#(Intercept)  10.2107    15.2361   0.670  0.51006   
#model         0.7658     0.2680   2.858  0.00942 **
#---
#Signif. codes:  
#0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#
#Residual standard error: 44.76 on 21 degrees of freedom
#Multiple R-squared:   0.28,    Adjusted R-squared:  0.2458 
#F-statistic: 8.168 on 1 and 21 DF,  p-value: 0.009418


# check summary attributes
attributes(summary(lm)) # in $names, you see the components

#$names
# [1] "call"          "terms"         "residuals"    
# [4] "coefficients"  "aliased"       "sigma"        
# [7] "df"            "r.squared"     "adj.r.squared"
#[10] "fstatistic"    "cov.unscaled" 
#
#$class
#[1] "summary.lm"
    
# extract summary components
summary(lm)$r.squared
#[1] 0.2800362

summary(lm)$adj.r.squared
#[1] 0.2457522