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

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