R语言1-面板数据分析全过程 附代码用途
R語言1-面板數(shù)據(jù)分析全過程 附代碼
用途
面板數(shù)據(jù)常見于計(jì)量經(jīng)濟(jì)學(xué)領(lǐng)域,本質(zhì)上是一種線性回歸方法。截面數(shù)據(jù)和時(shí)間序列數(shù)據(jù)的組合可以更多的反應(yīng)數(shù)據(jù)情況,同時(shí)也需要克服二者都存在的問題。
數(shù)據(jù)初步處理
在Excel中將原數(shù)據(jù)進(jìn)行初步處理和排列并另存為csv格式,建議將文件存放于便于提取的路徑下。

因變量為export.value,自變量分別為gdp、sagr、iagr、tagr、gni.p、food…其中apec和close是啞變量。截面為27個(gè)國家,時(shí)間跨度為2001-2018年。
數(shù)據(jù)清洗
在現(xiàn)實(shí)的經(jīng)濟(jì)數(shù)據(jù)中,數(shù)據(jù)不可避免的會(huì)存在缺失等問題。因此需要對(duì)數(shù)據(jù)進(jìn)行清洗,并對(duì)缺失數(shù)據(jù)集進(jìn)行插補(bǔ)。插補(bǔ)方法較多,R為面板數(shù)據(jù)提供了專門的程輯包:pan包。
首先進(jìn)行缺失數(shù)據(jù)的可視化,然后針對(duì)缺失數(shù)據(jù)集進(jìn)行插補(bǔ)。注意因變量應(yīng)該是完整的,pan包主要是處理自變量的缺失。
[ 詳細(xì)的插補(bǔ)步驟和方法請(qǐng)參考這篇博文
](https://blog.csdn.net/sinat_26917383/article/details/51265213?depth_1-utm_source=distribute.pc_relevant.none-
task-blog-BlogCommendFromBaidu-2&utm_source=distribute.pc_relevant.none-task-
blog-BlogCommendFromBaidu-2)
面板數(shù)據(jù)的單位根檢驗(yàn)
// 讀取數(shù)據(jù)lndataI<-read.csv("E://lndataI.csv",header = TRUE);lnDATAI<-as.matrix(lndataI[,3:15])//加載程輯包library(plm)//matrix形式簡化檢驗(yàn)步驟purtest(lnDATAI,test = c("levinlin"),exo = c("trend"),lags = c("AIC"),pmax = 10)//可選參數(shù)test = c("levinlin", "ips", "madwu", "Pm", "invnormal", "logit", "hadri"),exo = c("none", "intercept", "trend"),lags = c("SIC", "AIC", "Hall")注意:五種檢驗(yàn)方式中,只有Hadri函數(shù)的原假設(shè)為平穩(wěn),其他均為不平穩(wěn)。
若0階不平穩(wěn),則對(duì)原數(shù)據(jù)進(jìn)行差分再進(jìn)行單位根檢驗(yàn),直至平穩(wěn)。
協(xié)整檢驗(yàn)
1.pco包提供 pedroni99m
方法。每個(gè)變量分割成矩陣再結(jié)合成(多維)數(shù)組,第一個(gè)矩陣必須是自變量,其余為因變量。每個(gè)矩陣第一維(行)是時(shí)間,第二維(列)是個(gè)體(截面),第三維是變量值。
該函數(shù)最多檢驗(yàn)7維數(shù)組 ,即最多檢驗(yàn)7個(gè)變量。
當(dāng)standardized value服從標(biāo)準(zhǔn)正態(tài)分布(0,1)時(shí),服從H0假設(shè),即數(shù)組不協(xié)整。
引入ks檢驗(yàn)標(biāo)準(zhǔn)正態(tài)分布
2.urca包提供ca.jo檢驗(yàn)
最多檢驗(yàn)11個(gè)變量,包容啞變量。但變量個(gè)數(shù)增多后會(huì)導(dǎo)致不顯示邊界值,很不方便。可以通過修改源代碼,增加檢驗(yàn)變量個(gè)數(shù),同時(shí)顯示所有的critical
values。
親測可行
代碼太長就不貼了。
面板回歸詳細(xì)代碼
// 讀入標(biāo)準(zhǔn)面板格式數(shù)據(jù)panel<-pdata.frame(data,index = c("year","id"))//構(gòu)建固定模型-雙效應(yīng)/時(shí)間效應(yīng)/個(gè)體效應(yīng)fix<-plm(export.value~gdp+sagr+iagr+tagr+gni.p+I+food+gid+safe+trans+taf+culture+apec+close,data = panel,model = "within")fix_two<-plm(export.value~gdp+sagr+iagr+tagr+gni.p+I+food+gid+safe+trans+taf+culture+apec+close,data = panel,model = "within",effect = "twoways")fix_time<-plm(export.value~gdp+sagr+iagr+tagr+gni.p+I+food+gid+safe+trans+taf+culture+apec+close,data = panel,model = "within",effect = "time")fix_individual<-plm(export.value~gdp+sagr+iagr+tagr+gni.p+I+food+gid+safe+trans+taf+culture+apec+close,data = panel,model = "within",effect = "individual")//構(gòu)建隨機(jī)模型-雙效應(yīng)/時(shí)間效應(yīng)/個(gè)體效應(yīng)ran<-plm(export.value~gdp+sagr+iagr+tagr+gni.p+I+food+gid+safe+trans+taf+culture+apec+close,data = panel,model = "random")ran_two<-plm(export.value~gdp+sagr+iagr+tagr+gni.p+I+food+gid+safe+trans+taf+culture+apec+close,data = panel,model = "random",effect = "twoways")ran_time<-plm(export.value~gdp+sagr+iagr+tagr+gni.p+I+food+gid+safe+trans+taf+culture+apec+close,data = panel,model = "random",effect = "time")ran_individual<-plm(export.value~gdp+sagr+iagr+tagr+gni.p+I+food+gid+safe+trans+taf+culture+apec+close,data = panel,model = "random",effect = "individual")//混合模型pool<-plm(export.value~gdp+sagr+iagr+tagr+gni.p+I+food+gid+safe+trans+taf+culture+apec+close,data = panel,model = "pooling")//F檢驗(yàn)-個(gè)體or時(shí)間pooltest(fix_time,fix_individual)//F檢驗(yàn)-混合or固定pooltest(fix,pool)//豪斯曼檢驗(yàn)-隨機(jī)or固定phtest(fix,ran)//==共線性檢驗(yàn)==方差膨脹因子library(car)vif(ran)vif(pool)vif(fix)//==共線性檢驗(yàn)==kappakappa(panel[,3:18])結(jié)果分析
略
總結(jié)
以上是生活随笔為你收集整理的R语言1-面板数据分析全过程 附代码用途的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ps滤镜菜单
- 下一篇: 北大计算机系研究生宿舍地址,北京大学研究