R Markdown

#install.packages("WDI")
library(WDI)
#install.packages("wbstats")
library(wbstats)
#install.packages("ggplot2", dependencies = TRUE, repos = "https://cloud.r-project.org")
#install.packages("tidyverse")
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.4.4     ✔ tibble    3.2.1
## ✔ lubridate 1.9.3     ✔ tidyr     1.3.1
## ✔ purrr     1.0.2     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
#install.packages("gplot2")
library(gplots)
## 
## Attaching package: 'gplots'
## 
## The following object is masked from 'package:stats':
## 
##     lowess
#install.packages("plm")
library(plm)
## 
## Attaching package: 'plm'
## 
## The following objects are masked from 'package:dplyr':
## 
##     between, lag, lead

#Obtener información de 1 país

gdp_data <- wb_data(country=c("MX","EC","CA"), indicator="NY.GDP.PCAP.CD", start_date=2013, end_date=2023)
gdp_data
## # A tibble: 30 × 9
##    iso2c iso3c country  date NY.GDP.PCAP.CD unit  obs_status footnote
##    <chr> <chr> <chr>   <dbl>          <dbl> <chr> <chr>      <chr>   
##  1 CA    CAN   Canada   2013         52635. <NA>  <NA>       <NA>    
##  2 CA    CAN   Canada   2014         50956. <NA>  <NA>       <NA>    
##  3 CA    CAN   Canada   2015         43596. <NA>  <NA>       <NA>    
##  4 CA    CAN   Canada   2016         42316. <NA>  <NA>       <NA>    
##  5 CA    CAN   Canada   2017         45129. <NA>  <NA>       <NA>    
##  6 CA    CAN   Canada   2018         46549. <NA>  <NA>       <NA>    
##  7 CA    CAN   Canada   2019         46374. <NA>  <NA>       <NA>    
##  8 CA    CAN   Canada   2020         43562. <NA>  <NA>       <NA>    
##  9 CA    CAN   Canada   2021         52515. <NA>  <NA>       <NA>    
## 10 CA    CAN   Canada   2022         55522. <NA>  <NA>       <NA>    
## # ℹ 20 more rows
## # ℹ 1 more variable: last_updated <date>

Tarea 2 #Generar un conjunto de datos de panel

panel <- select(gdp_data,country,date,NY.GDP.PCAP.CD)

#panel 2 infraestructura

#Infraestructura basada en la produccion de electricidad a partir de fuenets hidroelectricas
#Variables utilizadas para explicar la produccion de electricidad a partir de fuenets hidroelectricas (Consumo de energia renovable,produccion de energia renovable, gasto en investigacion y desarrollo 

gdp_infraestructura <- wb_data(country = c("FR", "MX", "JP", "US"), indicator = c("EG.ELC.HYRO.ZS", "EG.FEC.RNEW.ZS", "EG.ELC.RNEW.ZS", "GB.XPD.RSDV.GD.ZS"), start_date =1950 , end_date=2023)
gdp_infraestructura
## # A tibble: 252 × 8
##    iso2c iso3c country  date EG.ELC.HYRO.ZS EG.ELC.RNEW.ZS EG.FEC.RNEW.ZS
##    <chr> <chr> <chr>   <dbl>          <dbl>          <dbl>          <dbl>
##  1 FR    FRA   France   1960           54.5             NA             NA
##  2 FR    FRA   France   1961           48.5             NA             NA
##  3 FR    FRA   France   1962           41.6             NA             NA
##  4 FR    FRA   France   1963           47.7             NA             NA
##  5 FR    FRA   France   1964           35.6             NA             NA
##  6 FR    FRA   France   1965           44.2             NA             NA
##  7 FR    FRA   France   1966           47.1             NA             NA
##  8 FR    FRA   France   1967           38.8             NA             NA
##  9 FR    FRA   France   1968           40.9             NA             NA
## 10 FR    FRA   France   1969           38.5             NA             NA
## # ℹ 242 more rows
## # ℹ 1 more variable: GB.XPD.RSDV.GD.ZS <dbl>
#generar un conjunto de datos de panel
panel2 <- select(gdp_infraestructura,country,date,EG.ELC.HYRO.ZS,EG.FEC.RNEW.ZS,EG.ELC.RNEW.ZS,GB.XPD.RSDV.GD.ZS)
panel2 <- subset(panel2, date== 1990 | date == 2000 | date == 2010 | date == 2020)
#se ponen el país y después el año
panel2 <- pdata.frame(panel2, index = c("country","date"))
plotmeans(EG.ELC.HYRO.ZS ~ country, main="Heterogeneidad entre países", data=panel2)

plotmeans(EG.ELC.HYRO.ZS ~ date, main="Heterogeneidad entre años", data=panel2)

#Modelo 1 Regresión agrupada (pooled)
pooled <- plm(EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + GB.XPD.RSDV.GD.ZS, data = panel2, model = "pooling")
summary(pooled)
## Pooling Model
## 
## Call:
## plm(formula = EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + 
##     GB.XPD.RSDV.GD.ZS, data = panel2, model = "pooling")
## 
## Balanced Panel: n = 4, T = 2, N = 8
## 
## Residuals:
##        France-2000        France-2010         Japan-2000         Japan-2010 
##          2.0588074          0.0077576          1.0080584         -0.6035035 
##        Mexico-2000        Mexico-2010 United States-2000 United States-2010 
##         -0.2866760         -0.3049080         -0.0636541         -1.8158818 
## 
## Coefficients:
##                    Estimate Std. Error t-value Pr(>|t|)
## (Intercept)        1.177496   7.959627  0.1479   0.8896
## EG.FEC.RNEW.ZS     0.053758   0.328744  0.1635   0.8780
## EG.ELC.RNEW.ZS     0.742560   0.494155  1.5027   0.2073
## GB.XPD.RSDV.GD.ZS -0.461782   1.479540 -0.3121   0.7705
## 
## Total Sum of Squares:    98.436
## Residual Sum of Squares: 9.0958
## R-Squared:      0.9076
## Adj. R-Squared: 0.83829
## F-statistic: 13.0962 on 3 and 4 DF, p-value: 0.015507
#Modelo 2 Efectos fijos (within) 
within <- plm(EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + GB.XPD.RSDV.GD.ZS, data = panel2, model = "within")
summary(within)
## Oneway (individual) effect Within Model
## 
## Call:
## plm(formula = EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + 
##     GB.XPD.RSDV.GD.ZS, data = panel2, model = "within")
## 
## Balanced Panel: n = 4, T = 2, N = 8
## 
## Residuals:
##        France-2000        France-2010         Japan-2000         Japan-2010 
##          -0.035091           0.035091          -0.072650           0.072650 
##        Mexico-2000        Mexico-2010 United States-2000 United States-2010 
##           0.041138          -0.041138           0.138824          -0.138824 
## 
## Coefficients:
##                   Estimate Std. Error t-value Pr(>|t|)
## EG.FEC.RNEW.ZS    -0.63529    0.17961 -3.5372   0.1754
## EG.ELC.RNEW.ZS     0.98380    0.19577  5.0253   0.1250
## GB.XPD.RSDV.GD.ZS -6.29008    1.00696 -6.2466   0.1011
## 
## Total Sum of Squares:    4.5243
## Residual Sum of Squares: 0.054947
## R-Squared:      0.98786
## Adj. R-Squared: 0.91499
## F-statistic: 27.1128 on 3 and 1 DF, p-value: 0.14003
#Prueba pF
pFtest(within,pooled)
## 
##  F test for individual effects
## 
## data:  EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + GB.XPD.RSDV.GD.ZS
## F = 54.845, df1 = 3, df2 = 1, p-value = 0.09886
## alternative hypothesis: significant effects
#Modelo 3 Efectos aleatorios (random) - Métodos walhus
walhus <- plm(EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + GB.XPD.RSDV.GD.ZS, data = panel2, model = "random", random.method="walhus")
summary(walhus)
## Oneway (individual) effect Random Effect Model 
##    (Wallace-Hussain's transformation)
## 
## Call:
## plm(formula = EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + 
##     GB.XPD.RSDV.GD.ZS, data = panel2, model = "random", random.method = "walhus")
## 
## Balanced Panel: n = 4, T = 2, N = 8
## 
## Effects:
##                 var std.dev share
## idiosyncratic 1.234   1.111     1
## individual    0.000   0.000     0
## theta: 0
## 
## Residuals:
##        France-2000        France-2010         Japan-2000         Japan-2010 
##          2.0588074          0.0077576          1.0080584         -0.6035035 
##        Mexico-2000        Mexico-2010 United States-2000 United States-2010 
##         -0.2866760         -0.3049080         -0.0636541         -1.8158818 
## 
## Coefficients:
##                    Estimate Std. Error z-value Pr(>|z|)
## (Intercept)        1.177496   7.959627  0.1479   0.8824
## EG.FEC.RNEW.ZS     0.053758   0.328744  0.1635   0.8701
## EG.ELC.RNEW.ZS     0.742560   0.494155  1.5027   0.1329
## GB.XPD.RSDV.GD.ZS -0.461782   1.479540 -0.3121   0.7550
## 
## Total Sum of Squares:    98.436
## Residual Sum of Squares: 9.0958
## R-Squared:      0.9076
## Adj. R-Squared: 0.83829
## Chisq: 39.2886 on 3 DF, p-value: 1.5077e-08
#Modelo 4 Efectos aleatorios (random) - Métodos amemiya
amemiya <- plm(EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + GB.XPD.RSDV.GD.ZS, data = panel2, model = "random", random.method="amemiya")
summary(amemiya)
## Oneway (individual) effect Random Effect Model 
##    (Amemiya's transformation)
## 
## Call:
## plm(formula = EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + 
##     GB.XPD.RSDV.GD.ZS, data = panel2, model = "random", random.method = "amemiya")
## 
## Balanced Panel: n = 4, T = 2, N = 8
## 
## Effects:
##                    var  std.dev share
## idiosyncratic  0.01374  0.11720     0
## individual    29.20262  5.40394     1
## theta: 0.9847
## 
## Residuals:
##        France-2000        France-2010         Japan-2000         Japan-2010 
##          0.0214204          0.0760619         -0.0015358          0.1100157 
##        Mexico-2000        Mexico-2010 United States-2000 United States-2010 
##         -0.0754871         -0.2015017          0.1786512         -0.1076246 
## 
## Coefficients:
##                   Estimate Std. Error z-value  Pr(>|z|)    
## (Intercept)       15.29623    4.19256  3.6484 0.0002639 ***
## EG.FEC.RNEW.ZS    -0.63252    0.12582 -5.0273 4.976e-07 ***
## EG.ELC.RNEW.ZS     0.97733    0.13712  7.1273 1.023e-12 ***
## GB.XPD.RSDV.GD.ZS -6.12682    0.69544 -8.8100 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Total Sum of Squares:    4.5464
## Residual Sum of Squares: 0.10815
## R-Squared:      0.97621
## Adj. R-Squared: 0.95837
## Chisq: 164.15 on 3 DF, p-value: < 2.22e-16
#Modelo 5 Efectos aleatorios (random) - Métodos nerlove
nerlove <- plm(EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + GB.XPD.RSDV.GD.ZS, data = panel2, model = "random", random.method="nerlove")
summary(nerlove)
## Oneway (individual) effect Random Effect Model 
##    (Nerlove's transformation)
## 
## Call:
## plm(formula = EG.ELC.HYRO.ZS ~ EG.FEC.RNEW.ZS + EG.ELC.RNEW.ZS + 
##     GB.XPD.RSDV.GD.ZS, data = panel2, model = "random", random.method = "nerlove")
## 
## Balanced Panel: n = 4, T = 2, N = 8
## 
## Effects:
##                     var   std.dev share
## idiosyncratic  0.006868  0.082876     0
## individual    38.945982  6.240672     1
## theta: 0.9906
## 
## Residuals:
##        France-2000        France-2010         Japan-2000         Japan-2010 
##         -0.0021803          0.0620711         -0.0320368          0.1003209 
##        Mexico-2000        Mexico-2010 United States-2000 United States-2010 
##         -0.0370044         -0.1360483          0.1629142         -0.1180364 
## 
## Coefficients:
##                   Estimate Std. Error  z-value  Pr(>|z|)    
## (Intercept)       15.46539    5.37957   2.8748  0.004042 ** 
## EG.FEC.RNEW.ZS    -0.63425    0.10507  -6.0362 1.578e-09 ***
## EG.ELC.RNEW.ZS     0.98134    0.11452   8.5688 < 2.2e-16 ***
## GB.XPD.RSDV.GD.ZS -6.22749    0.58592 -10.6285 < 2.2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Total Sum of Squares:    4.5326
## Residual Sum of Squares: 0.0753
## R-Squared:      0.98339
## Adj. R-Squared: 0.97093
## Chisq: 236.773 on 3 DF, p-value: < 2.22e-16
LS0tDQp0aXRsZTogIlBhbmVsIg0KYXV0aG9yOiAiWGltZW5hIEZkeiINCmRhdGU6ICIyMDI0LTAyLTEzIg0Kb3V0cHV0OiANCiAgaHRtbF9kb2N1bWVudDoNCiAgICB0b2M6IFRSVUUNCiAgICB0b2NfZmxvYXQ6IFRSVUUNCiAgICBjb2RlX2Rvd25sb2FkOiBUUlVFDQotLS0NCg0KDQojIyBSIE1hcmtkb3duDQoNCmBgYHtyIGNhcnN9DQojaW5zdGFsbC5wYWNrYWdlcygiV0RJIikNCmxpYnJhcnkoV0RJKQ0KI2luc3RhbGwucGFja2FnZXMoIndic3RhdHMiKQ0KbGlicmFyeSh3YnN0YXRzKQ0KI2luc3RhbGwucGFja2FnZXMoImdncGxvdDIiLCBkZXBlbmRlbmNpZXMgPSBUUlVFLCByZXBvcyA9ICJodHRwczovL2Nsb3VkLnItcHJvamVjdC5vcmciKQ0KI2luc3RhbGwucGFja2FnZXMoInRpZHl2ZXJzZSIpDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCiNpbnN0YWxsLnBhY2thZ2VzKCJncGxvdDIiKQ0KbGlicmFyeShncGxvdHMpDQojaW5zdGFsbC5wYWNrYWdlcygicGxtIikNCmxpYnJhcnkocGxtKQ0KYGBgDQoNCiNPYnRlbmVyIGluZm9ybWFjacOzbiBkZSAxIHBhw61zDQpgYGB7cn0NCmdkcF9kYXRhIDwtIHdiX2RhdGEoY291bnRyeT1jKCJNWCIsIkVDIiwiQ0EiKSwgaW5kaWNhdG9yPSJOWS5HRFAuUENBUC5DRCIsIHN0YXJ0X2RhdGU9MjAxMywgZW5kX2RhdGU9MjAyMykNCmdkcF9kYXRhDQpgYGANCg0KVGFyZWEgMg0KI0dlbmVyYXIgdW4gY29uanVudG8gZGUgZGF0b3MgZGUgcGFuZWwNCmBgYHtyfQ0KcGFuZWwgPC0gc2VsZWN0KGdkcF9kYXRhLGNvdW50cnksZGF0ZSxOWS5HRFAuUENBUC5DRCkNCmBgYA0KDQojcGFuZWwgMiBpbmZyYWVzdHJ1Y3R1cmENCmBgYHtyfQ0KI0luZnJhZXN0cnVjdHVyYSBiYXNhZGEgZW4gbGEgcHJvZHVjY2lvbiBkZSBlbGVjdHJpY2lkYWQgYSBwYXJ0aXIgZGUgZnVlbmV0cyBoaWRyb2VsZWN0cmljYXMNCiNWYXJpYWJsZXMgdXRpbGl6YWRhcyBwYXJhIGV4cGxpY2FyIGxhIHByb2R1Y2Npb24gZGUgZWxlY3RyaWNpZGFkIGEgcGFydGlyIGRlIGZ1ZW5ldHMgaGlkcm9lbGVjdHJpY2FzIChDb25zdW1vIGRlIGVuZXJnaWEgcmVub3ZhYmxlLHByb2R1Y2Npb24gZGUgZW5lcmdpYSByZW5vdmFibGUsIGdhc3RvIGVuIGludmVzdGlnYWNpb24geSBkZXNhcnJvbGxvIA0KDQpnZHBfaW5mcmFlc3RydWN0dXJhIDwtIHdiX2RhdGEoY291bnRyeSA9IGMoIkZSIiwgIk1YIiwgIkpQIiwgIlVTIiksIGluZGljYXRvciA9IGMoIkVHLkVMQy5IWVJPLlpTIiwgIkVHLkZFQy5STkVXLlpTIiwgIkVHLkVMQy5STkVXLlpTIiwgIkdCLlhQRC5SU0RWLkdELlpTIiksIHN0YXJ0X2RhdGUgPTE5NTAgLCBlbmRfZGF0ZT0yMDIzKQ0KZ2RwX2luZnJhZXN0cnVjdHVyYQ0KYGBgDQoNCg0KYGBge3J9DQojZ2VuZXJhciB1biBjb25qdW50byBkZSBkYXRvcyBkZSBwYW5lbA0KcGFuZWwyIDwtIHNlbGVjdChnZHBfaW5mcmFlc3RydWN0dXJhLGNvdW50cnksZGF0ZSxFRy5FTEMuSFlSTy5aUyxFRy5GRUMuUk5FVy5aUyxFRy5FTEMuUk5FVy5aUyxHQi5YUEQuUlNEVi5HRC5aUykNCnBhbmVsMiA8LSBzdWJzZXQocGFuZWwyLCBkYXRlPT0gMTk5MCB8IGRhdGUgPT0gMjAwMCB8IGRhdGUgPT0gMjAxMCB8IGRhdGUgPT0gMjAyMCkNCiNzZSBwb25lbiBlbCBwYcOtcyB5IGRlc3B1w6lzIGVsIGHDsW8NCnBhbmVsMiA8LSBwZGF0YS5mcmFtZShwYW5lbDIsIGluZGV4ID0gYygiY291bnRyeSIsImRhdGUiKSkNCg0KYGBgDQoNCmBgYHtyfQ0KcGxvdG1lYW5zKEVHLkVMQy5IWVJPLlpTIH4gY291bnRyeSwgbWFpbj0iSGV0ZXJvZ2VuZWlkYWQgZW50cmUgcGHDrXNlcyIsIGRhdGE9cGFuZWwyKQ0KcGxvdG1lYW5zKEVHLkVMQy5IWVJPLlpTIH4gZGF0ZSwgbWFpbj0iSGV0ZXJvZ2VuZWlkYWQgZW50cmUgYcOxb3MiLCBkYXRhPXBhbmVsMikNCmBgYA0KDQpgYGB7cn0NCiNNb2RlbG8gMSBSZWdyZXNpw7NuIGFncnVwYWRhIChwb29sZWQpDQpwb29sZWQgPC0gcGxtKEVHLkVMQy5IWVJPLlpTIH4gRUcuRkVDLlJORVcuWlMgKyBFRy5FTEMuUk5FVy5aUyArIEdCLlhQRC5SU0RWLkdELlpTLCBkYXRhID0gcGFuZWwyLCBtb2RlbCA9ICJwb29saW5nIikNCnN1bW1hcnkocG9vbGVkKQ0KYGBgDQoNCmBgYHtyfQ0KI01vZGVsbyAyIEVmZWN0b3MgZmlqb3MgKHdpdGhpbikgDQp3aXRoaW4gPC0gcGxtKEVHLkVMQy5IWVJPLlpTIH4gRUcuRkVDLlJORVcuWlMgKyBFRy5FTEMuUk5FVy5aUyArIEdCLlhQRC5SU0RWLkdELlpTLCBkYXRhID0gcGFuZWwyLCBtb2RlbCA9ICJ3aXRoaW4iKQ0Kc3VtbWFyeSh3aXRoaW4pDQpgYGANCg0KYGBge3J9DQojUHJ1ZWJhIHBGDQpwRnRlc3Qod2l0aGluLHBvb2xlZCkNCmBgYA0KDQpgYGB7cn0NCiNNb2RlbG8gMyBFZmVjdG9zIGFsZWF0b3Jpb3MgKHJhbmRvbSkgLSBNw6l0b2RvcyB3YWxodXMNCndhbGh1cyA8LSBwbG0oRUcuRUxDLkhZUk8uWlMgfiBFRy5GRUMuUk5FVy5aUyArIEVHLkVMQy5STkVXLlpTICsgR0IuWFBELlJTRFYuR0QuWlMsIGRhdGEgPSBwYW5lbDIsIG1vZGVsID0gInJhbmRvbSIsIHJhbmRvbS5tZXRob2Q9IndhbGh1cyIpDQpzdW1tYXJ5KHdhbGh1cykNCmBgYA0KDQpgYGB7cn0NCiNNb2RlbG8gNCBFZmVjdG9zIGFsZWF0b3Jpb3MgKHJhbmRvbSkgLSBNw6l0b2RvcyBhbWVtaXlhDQphbWVtaXlhIDwtIHBsbShFRy5FTEMuSFlSTy5aUyB+IEVHLkZFQy5STkVXLlpTICsgRUcuRUxDLlJORVcuWlMgKyBHQi5YUEQuUlNEVi5HRC5aUywgZGF0YSA9IHBhbmVsMiwgbW9kZWwgPSAicmFuZG9tIiwgcmFuZG9tLm1ldGhvZD0iYW1lbWl5YSIpDQpzdW1tYXJ5KGFtZW1peWEpDQpgYGANCg0KYGBge3J9DQojTW9kZWxvIDUgRWZlY3RvcyBhbGVhdG9yaW9zIChyYW5kb20pIC0gTcOpdG9kb3MgbmVybG92ZQ0KbmVybG92ZSA8LSBwbG0oRUcuRUxDLkhZUk8uWlMgfiBFRy5GRUMuUk5FVy5aUyArIEVHLkVMQy5STkVXLlpTICsgR0IuWFBELlJTRFYuR0QuWlMsIGRhdGEgPSBwYW5lbDIsIG1vZGVsID0gInJhbmRvbSIsIHJhbmRvbS5tZXRob2Q9Im5lcmxvdmUiKQ0Kc3VtbWFyeShuZXJsb3ZlKQ0KYGBgDQoNCg==