【问题标题】:R.squared from Model in RR.squared 来自 R 中的模型
【发布时间】:2021-11-12 02:51:15
【问题描述】:

我正在尝试为我的模型计算 R^2 和 BIAS。 r 中的 lm() 函数会为此类数据计算正确的 r.squared,还是在这种情况下我应该使用不同的方法?

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

谢谢!

【问题讨论】:

  • summary(lm(data = mydata, field ~ model))$adj.r.squared 调整 R^2
  • 为什么这个 r 平方不正确?执行lm 后,您可以从summary 函数中检索r.squared。
  • 这很可能是正确的。我只是不熟悉在不同类型的数据上使用 lm() 函数。谢谢。

标签: r model statistics


【解决方案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

【讨论】:

    猜你喜欢
    • 2021-01-17
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    相关资源
    最近更新 更多