Вычисление внутри, между или в целом R-квадрата в R

Я перехожу со Stata на R (plm package), чтобы заниматься эконометрикой панельной модели. В Stata панельные модели, такие как случайные эффекты, обычно сообщают о внутреннем, промежуточном и общем R-квадрате.

Я обнаружил, что сообщаемый R-квадрат в plm Модель со случайными эффектами соответствует в пределах R в квадрате. Итак, есть ли способ получить общий и между R-квадратами, используя plm package в R?

См. тот же пример с R и Stata:

library(plm)
library(foreign) # read Stata files
download.file('http://fmwww.bc.edu/ec-p/data/wooldridge/wagepan.dta','wagepan.dta',mode="wb")
wagepan <- read.dta('wagepan.dta')

# Random effects
plm.re <- plm(lwage ~ educ + black + hisp + exper + expersq + married + union + d81 + d82 + d83 + d84 + d85 + d86 + d87,
              data=wagepan,
              model='random',
              index=c('nr','year'))
summary(plm.re)

В Стате:

use http://fmwww.bc.edu/ec-p/data/wooldridge/wagepan.dta
xtset nr year
xtreg lwage educ  black  hisp  exper  expersq  married  union  d81  d82  d83  d84  d85  d86  d87, re

R-квадрат, указанный в R (0,18062), по крайней мере, в этом случае аналогичен R-sq Within, указанному в Stata (0,1799). Есть ли способ получить в R R-sq между (0,1860) и общим (0,1830), указанным в Stata?


person user3507584    schedule 08.01.2016    source источник
comment
@atiretoo, пожалуйста, посмотрите воспроизводимый пример для обоих случаев.   -  person user3507584    schedule 08.01.2016
comment
Правописание было Stata в течение 30 лет. Что еще более важно, это не по теме резюме. Я голосую за миграцию.   -  person Nick Cox    schedule 10.01.2016
comment
Это хороший вопрос, но Ник прав в том, что он не по теме. Возможно, на него могли бы лучше ответить люди из Stack Overflow.   -  person Kenji    schedule 10.01.2016
comment
обратите внимание, что указанный вами источник касается регрессии с фиксированным эффектом, а не случайных эффектов.   -  person Helix123    schedule 12.01.2016
comment
@ Helix123 Извините, я не понимаю вашего комментария. Для ясности этот пример соответствует примеру 14.4 в Wooldridge Introductory Econometrics, где они оценивают объединенную МНК, модель со случайными эффектами и модель с фиксированными эффектами.   -  person user3507584    schedule 15.01.2016


Ответы (1)


этот веб-сайт содержит полный код для воспроизведения примера 14.4 в Wooldridge 2013 p. 494-5 с R-кв. сообщается для всех моделей,

# install.packages(c("wooldridge"), dependencies = TRUE) 
# devtools::install_github("JustinMShea/wooldridge")
library(wooldridge) 
data(wagepan)

# install.packages(c("plm", "stargazer","lmtest"), dependencies = TRUE)
library(plm); library(lmtest); library(stargazer)

model <- as.formula("lwage ~ educ + black + hisp + exper+I(exper^2)+married + union+yr")
reg.ols <- plm(model, data = wagepan.p, model="pooling")

reg.re <- plm(lwage ~ educ + black + hisp + exper +
              I(exper^2) + married + union + yr, data = wagepan.p, model="random") 

reg.fe <- plm(lwage ~ I(exper^2) + married+union+yr, data=wagepan.p, model="within")

# Pretty table of selected results (not reporting year dummies)
stargazer(reg.ols,reg.re,reg.fe, type="text",
     column.labels=c("OLS","RE","FE"),
     keep.stat=c("n","rsq"),
     keep=c("ed","bl","hi","exp","mar","un"))

который выводит,

#> ==========================================
#>                   Dependent variable:     
#>              -----------------------------
#>                          lwage            
#>                 OLS       RE        FE    
#>                 (1)       (2)       (3)   
#> ------------------------------------------
#> educ         0.091***  0.092***           
#>               (0.005)   (0.011)           
#>                                           
#> black        -0.139*** -0.139***          
#>               (0.024)   (0.048)           
#>                                           
#> hisp           0.016     0.022            
#>               (0.021)   (0.043)           
#>                                           
#> exper        0.067***  0.106***           
#>               (0.014)   (0.015)           
#>                                           
#> I(exper2)    -0.002*** -0.005*** -0.005***
#>               (0.001)   (0.001)   (0.001) 
#>                                           
#> married      0.108***  0.064***   0.047** 
#>               (0.016)   (0.017)   (0.018) 
#>                                           
#> union        0.182***  0.106***  0.080*** 
#>               (0.017)   (0.018)   (0.019) 
#>                                           
#> ------------------------------------------
#> Observations   4,360     4,360     4,360  
#> R2             0.189     0.181     0.181  
#> ==========================================
#> Note:          *p<0.1; **p<0.05; ***p<0.01
person Eric Fail    schedule 30.01.2018
comment
Это не отвечает ОП. Вопрос в том, как получить 3 разных R^2 для одной модели. Не R ^ 2 для трех моделей. Ключ должен быть в документации Stata о том, что это значит под этими 3 R ^ 2! - person Majid Einian; 19.05.2021