Econometrics_Notes
http://shujuren.org/article/42.html
1 intro
> install.packages("plm")
also installing the dependencies ‘miscTools’, ‘Formula’, ‘bdsmatrix’, ‘zoo’, ‘sandwich’, ‘lmtest’, ‘maxLik’
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/miscTools_0.6-22.zip'
Content type 'application/zip' length 63121 bytes (61 KB)
downloaded 61 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/Formula_1.2-2.zip'
Content type 'application/zip' length 164600 bytes (160 KB)
downloaded 160 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/bdsmatrix_1.3-3.zip'
Content type 'application/zip' length 183101 bytes (178 KB)
downloaded 178 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/zoo_1.8-1.zip'
Content type 'application/zip' length 915755 bytes (894 KB)
downloaded 894 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/sandwich_2.4-0.zip'
Content type 'application/zip' length 1243100 bytes (1.2 MB)
downloaded 1.2 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/lmtest_0.9-35.zip'
Content type 'application/zip' length 289030 bytes (282 KB)
downloaded 282 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/maxLik_1.3-4.zip'
Content type 'application/zip' length 312374 bytes (305 KB)
downloaded 305 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/3.4/plm_1.6-6.zip'
Content type 'application/zip' length 1594909 bytes (1.5 MB)
downloaded 1.5 MB
package ‘miscTools’ successfully unpacked and MD5 sums checked
package ‘Formula’ successfully unpacked and MD5 sums checked
package ‘bdsmatrix’ successfully unpacked and MD5 sums checked
package ‘zoo’ successfully unpacked and MD5 sums checked
package ‘sandwich’ successfully unpacked and MD5 sums checked
package ‘lmtest’ successfully unpacked and MD5 sums checked
package ‘maxLik’ successfully unpacked and MD5 sums checked
package ‘plm’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\lenovo\AppData\Local\Temp\RtmpKSm1zE\downloaded_packages
> library(plm)
载入需要的程辑包:Formula
> #redefining variables
> Y <- cbind(mpg)
> X <- cbind(weight, length, foreign)
> summary(Y)
mpg
Min. :14.00
1st Qu.:17.25
Median :21.00
Mean :20.92
3rd Qu.:23.00
Max. :35.00
> summary(X)
weight length foreign
Min. :2020 Min. :163.0 Min. :0.0000
1st Qu.:2642 1st Qu.:173.2 1st Qu.:0.0000
Median :3200 Median :191.0 Median :0.0000
Mean :3099 Mean :190.1 Mean :0.2692
3rd Qu.:3610 3rd Qu.:203.0 3rd Qu.:0.7500
Max. :4330 Max. :222.0 Max. :1.0000
> olsreg <- lm(Y ~ X)
> summary(olsreg)
Call:
lm(formula = Y ~ X)
Residuals:
Min 1Q Median 3Q Max
-4.3902 -1.2734 -0.2991 0.7241 8.5203
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 44.968582 9.322678 4.824 8.08e-05 ***
Xweight -0.005008 0.002188 -2.289 0.032 *
Xlength -0.043056 0.076926 -0.560 0.581
Xforeign -1.269211 1.632134 -0.778 0.445
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.917 on 22 degrees of freedom
Multiple R-squared: 0.6693, Adjusted R-squared: 0.6242
F-statistic: 14.84 on 3 and 22 DF, p-value: 1.673e-05
2.linear regression in r
https://feliperego.github.io/blog/2015/10/23/Interpreting-Model-Output-In-R
> mydata = read.csv(file.choose())
> View(mydata)
> attach(mydata)
>
> Y = cbind(mpg)
> X1 = cbind(weight1)
> X = cbind(weight1, price, foreign)
> ?cbind
> summary(Y)
mpg
Min. :14.00
1st Qu.:17.25
Median :21.00
Mean :20.92
3rd Qu.:23.00
Max. :35.00
> summary(X)
weight1 price foreign
Min. :2.020 Min. : 3299 Min. :0.0000
1st Qu.:2.643 1st Qu.: 4466 1st Qu.:0.0000
Median :3.200 Median : 5146 Median :0.0000
Mean :3.099 Mean : 6652 Mean :0.2692
3rd Qu.:3.610 3rd Qu.: 8054 3rd Qu.:0.7500
Max. :4.330 Max. :15906 Max. :1.0000
>
> olsreg1 = lm(Y ~ X1)
> summary(olsreg1)
Call:
lm(formula = Y ~ X1)
Residuals:
Min 1Q Median 3Q Max
-5.4123 -1.6073 -0.1043 0.9261 8.1072
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 38.0665 2.6112 14.578 2.02e-13 ***
X1 -5.5315 0.8229 -6.722 5.93e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.86 on 24 degrees of freedom
Multiple R-squared: 0.6531, Adjusted R-squared: 0.6387
F-statistic: 45.19 on 1 and 24 DF, p-value: 5.935e-07
> confint(olsreg1)
2.5 % 97.5 %
(Intercept) 32.677256 43.455664
X1 -7.229797 -3.833196
> anova(olsreg1)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X1 1 369.57 369.57 45.189 5.935e-07 ***
Residuals 24 196.28 8.18
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> plot(Y ~ X1, data = mydata)
> abline(olsreg1)
>
> #predict values for dependent variables
> Y1hat = fitted(olsreg1)
> summary(Y1hat)
Min. 1st Qu. Median Mean 3rd Qu. Max.
14.12 18.10 20.37 20.92 23.45 26.89
> plot(Y1hat ~ X1)
> e1hat = resid(olsreg1)
> summary(e1hat)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-5.4123 -1.6073 -0.1043 0.0000 0.9261 8.1072
> plot(elhat ~ X1)
Error in eval(predvars, data, env) : object 'elhat' not found
> plot(e1hat ~ X1)
>
> olsreg2 = lm(Y ~ X)
> summary(olsreg2)
Call:
lm(formula = Y ~ X)
Residuals:
Min 1Q Median 3Q Max
-4.6942 -1.1857 -0.0452 0.6433 8.6895
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 42.1661962 4.2647533 9.887 1.48e-09 ***
Xweight1 -7.1211114 1.6046735 -4.438 0.000207 ***
Xprice 0.0002258 0.0002654 0.851 0.404002
Xforeign -2.5071265 2.0565685 -1.219 0.235723
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 2.89 on 22 degrees of freedom
Multiple R-squared: 0.6752, Adjusted R-squared: 0.6309
F-statistic: 15.25 on 3 and 22 DF, p-value: 1.374e-05
> confint(olsreg2)
2.5 % 97.5 %
(Intercept) 3.332164e+01 51.0107531780
Xweight1 -1.044900e+01 -3.7932221856
Xprice -3.245229e-04 0.0007760878
Xforeign -6.772188e+00 1.7579354345
> anova(olsreg2)
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value Pr(>F)
X 3 382.08 127.360 15.247 1.374e-05 ***
Residuals 22 183.77 8.353
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> Yhat = fitted(olsreg2)
> summary(Yhat)
Min. 1st Qu. Median Mean 3rd Qu. Max.
13.90 17.91 20.46 20.92 23.99 27.89
> ehat = resid(olsreg2)
> summary(ehat)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-4.69416 -1.18567 -0.04524 0.00000 0.64332 8.68946
3. panel data models in r
http://eclr.humanities.manchester.ac.uk/index.php/Panel_in_R
# Panel Data Models in R
# Copyright 2013 by Ani Katchova
# install.packages("plm")
library(plm)
mydata<- read.csv("C:/Econometrics/Data/panel_wage.csv")
attach(mydata)
Y <- cbind(lwage)
X <- cbind(exp, exp2, wks, ed)
# Set data as panel data
pdata <- plm.data(mydata, index=c("id","t"))
# Descriptive statistics
summary(Y)
summary(X)
# Pooled OLS estimator
pooling <- plm(Y ~ X, data=pdata, model= "pooling")
summary(pooling)
# Between estimator
between <- plm(Y ~ X, data=pdata, model= "between")
summary(between)
# First differences estimator
firstdiff <- plm(Y ~ X, data=pdata, model= "fd")
summary(firstdiff)
# Fixed effects or within estimator
fixed <- plm(Y ~ X, data=pdata, model= "within")
summary(fixed)
# Random effects estimator
random <- plm(Y ~ X, data=pdata, model= "random")
summary(random)
# LM test for random effects versus OLS
plmtest(pooling)
# LM test for fixed effects versus OLS
pFtest(fixed, pooling)
# Hausman test for fixed versus random effects model
phtest(random, fixed)

浙公网安备 33010602011771号