The povcalnetR
package allows to easily query the PovcalNet API from R.
Here are a few examples to get you started:
By default, the povcalnet
function return all available
povcalnet()
#> # A tibble: 1,962 x 31
#> countrycode countryname regioncode coveragetype year datayear datatype
#> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
#> 1 ALB Albania ECA N 1996 1996 consump~
#> 2 ALB Albania ECA N 2002 2002 consump~
#> 3 ALB Albania ECA N 2005 2005 consump~
#> 4 ALB Albania ECA N 2008 2008 consump~
#> 5 ALB Albania ECA N 2012 2012 consump~
#> 6 ALB Albania ECA N 2014 2014 consump~
#> 7 ALB Albania ECA N 2015 2015 consump~
#> 8 ALB Albania ECA N 2016 2016 consump~
#> 9 ALB Albania ECA N 2017 2017 consump~
#> 10 DZA Algeria MNA N 1988 1988 consump~
#> # ... with 1,952 more rows, and 24 more variables: isinterpolated <dbl>,
#> # usemicrodata <dbl>, ppp <dbl>, povertyline <dbl>, mean <dbl>,
#> # headcount <dbl>, povertygap <dbl>, povertygapsq <dbl>, watts <dbl>,
#> # gini <dbl>, median <dbl>, mld <dbl>, polarization <dbl>, population <dbl>,
#> # decile1 <dbl>, decile2 <dbl>, decile3 <dbl>, decile4 <dbl>, decile5 <dbl>,
#> # decile6 <dbl>, decile7 <dbl>, decile8 <dbl>, decile9 <dbl>, decile10 <dbl>
# Specify ONE country
povcalnet(country = "ALB")
#> # A tibble: 9 x 31
#> countrycode countryname regioncode coveragetype year datayear datatype
#> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
#> 1 ALB Albania ECA N 1996 1996 consump~
#> 2 ALB Albania ECA N 2002 2002 consump~
#> 3 ALB Albania ECA N 2005 2005 consump~
#> 4 ALB Albania ECA N 2008 2008 consump~
#> 5 ALB Albania ECA N 2012 2012 consump~
#> 6 ALB Albania ECA N 2014 2014 consump~
#> 7 ALB Albania ECA N 2015 2015 consump~
#> 8 ALB Albania ECA N 2016 2016 consump~
#> 9 ALB Albania ECA N 2017 2017 consump~
#> # ... with 24 more variables: isinterpolated <dbl>, usemicrodata <dbl>,
#> # ppp <dbl>, povertyline <dbl>, mean <dbl>, headcount <dbl>,
#> # povertygap <dbl>, povertygapsq <dbl>, watts <dbl>, gini <dbl>,
#> # median <dbl>, mld <dbl>, polarization <dbl>, population <dbl>,
#> # decile1 <dbl>, decile2 <dbl>, decile3 <dbl>, decile4 <dbl>, decile5 <dbl>,
#> # decile6 <dbl>, decile7 <dbl>, decile8 <dbl>, decile9 <dbl>, decile10 <dbl>
# Specify MULTIPLE countries
povcalnet(country = c("ALB", "CHN"))
#> # A tibble: 60 x 31
#> countrycode countryname regioncode coveragetype year datayear datatype
#> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
#> 1 ALB Albania ECA N 1996 1996 consump~
#> 2 ALB Albania ECA N 2002 2002 consump~
#> 3 ALB Albania ECA N 2005 2005 consump~
#> 4 ALB Albania ECA N 2008 2008 consump~
#> 5 ALB Albania ECA N 2012 2012 consump~
#> 6 ALB Albania ECA N 2014 2014 consump~
#> 7 ALB Albania ECA N 2015 2015 consump~
#> 8 ALB Albania ECA N 2016 2016 consump~
#> 9 ALB Albania ECA N 2017 2017 consump~
#> 10 CHN China EAP A 1981 1981 income
#> # ... with 50 more rows, and 24 more variables: isinterpolated <dbl>,
#> # usemicrodata <dbl>, ppp <dbl>, povertyline <dbl>, mean <dbl>,
#> # headcount <dbl>, povertygap <dbl>, povertygapsq <dbl>, watts <dbl>,
#> # gini <dbl>, median <dbl>, mld <dbl>, polarization <dbl>, population <dbl>,
#> # decile1 <dbl>, decile2 <dbl>, decile3 <dbl>, decile4 <dbl>, decile5 <dbl>,
#> # decile6 <dbl>, decile7 <dbl>, decile8 <dbl>, decile9 <dbl>, decile10 <dbl>
By default, povcalnet
will only return data if a survey is available for the requested country and the requested year
# Survey year NOT available
povcalnet(country = "ALB", year = 2012)
#> # A tibble: 1 x 31
#> countrycode countryname regioncode coveragetype year datayear datatype
#> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
#> 1 ALB Albania ECA N 2012 2012 consump~
#> # ... with 24 more variables: isinterpolated <dbl>, usemicrodata <dbl>,
#> # ppp <dbl>, povertyline <dbl>, mean <dbl>, headcount <dbl>,
#> # povertygap <dbl>, povertygapsq <dbl>, watts <dbl>, gini <dbl>,
#> # median <dbl>, mld <dbl>, polarization <dbl>, population <dbl>,
#> # decile1 <dbl>, decile2 <dbl>, decile3 <dbl>, decile4 <dbl>, decile5 <dbl>,
#> # decile6 <dbl>, decile7 <dbl>, decile8 <dbl>, decile9 <dbl>, decile10 <dbl>
# Survey year NOT available - Empty response
povcalnet(country = "ALB", year = 2018)
#> # A tibble: 0 x 31
#> # ... with 31 variables: countrycode <chr>, countryname <chr>,
#> # regioncode <chr>, coveragetype <chr>, year <chr>, datayear <chr>,
#> # datatype <chr>, isinterpolated <chr>, usemicrodata <chr>, ppp <chr>,
#> # povertyline <chr>, mean <chr>, headcount <chr>, povertygap <chr>,
#> # povertygapsq <chr>, watts <chr>, gini <chr>, median <chr>, mld <chr>,
#> # polarization <chr>, population <chr>, decile1 <chr>, decile2 <chr>,
#> # decile3 <chr>, decile4 <chr>, decile5 <chr>, decile6 <chr>, decile7 <chr>,
#> # decile8 <chr>, decile9 <chr>, decile10 <chr>
povcalnet(country = "ALB", povline = 3.2)
#> # A tibble: 9 x 31
#> countrycode countryname regioncode coveragetype year datayear datatype
#> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
#> 1 ALB Albania ECA N 1996 1996 consump~
#> 2 ALB Albania ECA N 2002 2002 consump~
#> 3 ALB Albania ECA N 2005 2005 consump~
#> 4 ALB Albania ECA N 2008 2008 consump~
#> 5 ALB Albania ECA N 2012 2012 consump~
#> 6 ALB Albania ECA N 2014 2014 consump~
#> 7 ALB Albania ECA N 2015 2015 consump~
#> 8 ALB Albania ECA N 2016 2016 consump~
#> 9 ALB Albania ECA N 2017 2017 consump~
#> # ... with 24 more variables: isinterpolated <dbl>, usemicrodata <dbl>,
#> # ppp <dbl>, povertyline <dbl>, mean <dbl>, headcount <dbl>,
#> # povertygap <dbl>, povertygapsq <dbl>, watts <dbl>, gini <dbl>,
#> # median <dbl>, mld <dbl>, polarization <dbl>, population <dbl>,
#> # decile1 <dbl>, decile2 <dbl>, decile3 <dbl>, decile4 <dbl>, decile5 <dbl>,
#> # decile6 <dbl>, decile7 <dbl>, decile8 <dbl>, decile9 <dbl>, decile10 <dbl>
The fill_gaps
argument will trigger the interpolation / extrapolation of poverty estimates when survey year is not available
# fill_gaps = FALSE (default)
povcalnet(country = "HTI")
#> # A tibble: 3 x 31
#> countrycode countryname regioncode coveragetype year datayear datatype
#> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
#> 1 HTI Haiti LAC N 2001 2001 income
#> 2 HTI Haiti LAC N 2012 2012 consump~
#> 3 HTI Haiti LAC N 2012 2012 income
#> # ... with 24 more variables: isinterpolated <dbl>, usemicrodata <dbl>,
#> # ppp <dbl>, povertyline <dbl>, mean <dbl>, headcount <dbl>,
#> # povertygap <dbl>, povertygapsq <dbl>, watts <dbl>, gini <dbl>,
#> # median <dbl>, mld <dbl>, polarization <dbl>, population <dbl>,
#> # decile1 <dbl>, decile2 <dbl>, decile3 <dbl>, decile4 <dbl>, decile5 <dbl>,
#> # decile6 <dbl>, decile7 <dbl>, decile8 <dbl>, decile9 <dbl>, decile10 <dbl>
# fill_gaps = TRUE
povcalnet(country = "HTI", fill_gaps = TRUE)
#> # A tibble: 16 x 31
#> countrycode countryname regioncode coveragetype year datayear datatype
#> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
#> 1 HTI Haiti XX N 1981 2001 income
#> 2 HTI Haiti XX N 1984 2001 income
#> 3 HTI Haiti XX N 1987 2001 income
#> 4 HTI Haiti XX N 1990 2001 income
#> 5 HTI Haiti XX N 1993 2001 income
#> 6 HTI Haiti XX N 1996 2001 income
#> 7 HTI Haiti XX N 1999 2001 income
#> 8 HTI Haiti XX N 2002 NA income
#> 9 HTI Haiti XX N 2005 NA income
#> 10 HTI Haiti XX N 2008 NA income
#> 11 HTI Haiti XX N 2010 NA income
#> 12 HTI Haiti XX N 2011 NA income
#> 13 HTI Haiti XX N 2012 2012 consump~
#> 14 HTI Haiti XX N 2013 2012 consump~
#> 15 HTI Haiti XX N 2015 2012 consump~
#> 16 HTI Haiti XX N 2018 2012 consump~
#> # ... with 24 more variables: isinterpolated <dbl>, usemicrodata <dbl>,
#> # ppp <dbl>, povertyline <dbl>, mean <dbl>, headcount <dbl>,
#> # povertygap <dbl>, povertygapsq <dbl>, watts <dbl>, gini <dbl>,
#> # median <dbl>, mld <dbl>, polarization <dbl>, population <dbl>,
#> # decile1 <dbl>, decile2 <dbl>, decile3 <dbl>, decile4 <dbl>, decile5 <dbl>,
#> # decile6 <dbl>, decile7 <dbl>, decile8 <dbl>, decile9 <dbl>, decile10 <dbl>
The povcalnet
function can also be used to compute aggregate welfare statistics of custom group of countries
# World aggregate
povcalnet(country = "all", aggregate = TRUE)
#> # A tibble: 16 x 9
#> regiontitle regioncode year povertyline mean headcount povertygap
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 World Total WLD 2018 1.9 NA NA NA
#> 2 World Total WLD 2015 1.9 462. 0.100 0.0310
#> 3 World Total WLD 2013 1.9 445. 0.112 0.0334
#> 4 World Total WLD 2012 1.9 436. 0.128 0.0375
#> 5 World Total WLD 2011 1.9 429. 0.137 0.0405
#> 6 World Total WLD 2010 1.9 423. 0.157 0.0465
#> 7 World Total WLD 2008 1.9 412. 0.181 0.0540
#> 8 World Total WLD 2005 1.9 384. 0.207 0.0630
#> 9 World Total WLD 2002 1.9 361. 0.255 0.0823
#> 10 World Total WLD 1999 1.9 340. 0.286 0.0953
#> 11 World Total WLD 1996 1.9 331. 0.295 0.0981
#> 12 World Total WLD 1993 1.9 317. 0.340 0.120
#> 13 World Total WLD 1990 1.9 322. 0.360 0.128
#> 14 World Total WLD 1987 1.9 317. 0.355 0.126
#> 15 World Total WLD 1984 1.9 303. 0.394 0.147
#> 16 World Total WLD 1981 1.9 296. 0.423 0.180
#> # ... with 2 more variables: povertygapsq <dbl>, population <dbl>
# Custom aggregate
povcalnet(country = c("CHL", "ARG", "BOL"), aggregate = TRUE)
#> # A tibble: 16 x 9
#> regiontitle regioncode year povertyline mean headcount povertygap
#> <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 XX XX 2018 1.9 651. 0.0137 0.00518
#> 2 XX XX 2015 1.9 652. 0.0147 0.00657
#> 3 XX XX 2013 1.9 655. 0.0162 0.00721
#> 4 XX XX 2012 1.9 634. 0.0188 0.00869
#> 5 XX XX 2011 1.9 619. 0.0183 0.00739
#> 6 XX XX 2010 1.9 583. 0.0294 0.0124
#> 7 XX XX 2008 1.9 551. 0.0355 0.0153
#> 8 XX XX 2005 1.9 476. 0.0566 0.0254
#> 9 XX XX 2002 1.9 334. 0.130 0.0575
#> 10 XX XX 1999 1.9 452. 0.0764 0.0419
#> 11 XX XX 1996 1.9 464. 0.0651 0.0345
#> 12 XX XX 1993 1.9 470. 0.0496 0.0206
#> 13 XX XX 1990 1.9 452. 0.0502 0.0179
#> 14 XX XX 1987 1.9 570. 0.0547 0.0183
#> 15 XX XX 1984 1.9 591. 0.0628 0.0211
#> 16 XX XX 1981 1.9 575. 0.0416 0.0149
#> # ... with 2 more variables: povertygapsq <dbl>, population <dbl>