convey (version 0.2.2)

svyafcdec: Alkire-Foster multidimensional poverty decompostition

Description

Decomposition of indices from the Alkire-Foster class

Usage

svyafcdec(formula, subgroup, design, ...)

# S3 method for survey.design svyafcdec( formula, subgroup = ~1, design, g, cutoffs, k, dimw = NULL, na.rm = FALSE, ... )

# S3 method for svyrep.design svyafcdec( formula, subgroup = ~1, design, g, cutoffs, k, dimw = NULL, na.rm = FALSE, ... )

# S3 method for DBIsvydesign svyafcdec(formula, subgroup = ~1, design, ...)

Arguments

formula

a formula specifying the variables. Variables can be numeric or ordered factors.

subgroup

a formula defining the group variable for decomposition.

design

a design object of class survey.design or class svyrep.design from the survey library.

...

future expansion

g

a scalar defining the exponent of the indicator.

cutoffs

a list defining each variable's deprivation limit.

k

a scalar defining the multidimensional cutoff.

dimw

a vector defining the weight of each dimension in the multidimensional deprivation sum.

na.rm

Should cases with missing values be dropped?

Value

Object of class "cvystat", which are vectors with a "var" attribute giving the variance and a "statistic" attribute giving the name of the statistic.

Details

you must run the convey_prep function on your survey design object immediately after creating it with the svydesign or svrepdesign function.

References

Sabina Alkire and James Foster (2011). Counting and multidimensional poverty measurement. Journal of Public Economics, v. 95, n. 7-8, August 2011, pp. 476-487, ISSN 0047-2727. URL http://dx.doi.org/10.1016/j.jpubeco.2010.11.006.

Alkire et al. (2015). Multidimensional Poverty Measurement and Analysis. Oxford University Press, 2015.

Daniele Pacifico and Felix Poege (2016). MPI: Stata module to compute the Alkire-Foster multidimensional poverty measures and their decomposition groups deprivation indicators and population sub-groups. URL http://EconPapers.repec.org/RePEc:boc:bocode:s458120.

See Also

svyfgt

Examples

Run this code
# NOT RUN {
library(survey)
library(laeken)
data(eusilc) ; names( eusilc ) <- tolower( names( eusilc ) )

# linearized design
des_eusilc <- svydesign( ids = ~rb030 , strata = ~db040 ,  weights = ~rb050 , data = eusilc )
des_eusilc <- convey_prep(des_eusilc)
des_eusilc <- update(des_eusilc, pb220a = ordered( pb220a ) )

# replicate-weighted design
des_eusilc_rep <- as.svrepdesign( des_eusilc , type = "bootstrap" )
des_eusilc_rep <- convey_prep(des_eusilc_rep)

# cutoffs
cos <- list( 10000, 5000 )


# variables without missing values
svyafcdec( ~ eqincome + hy050n ,  ~1 , des_eusilc , k = .5 , g = 0, cutoffs = cos )
svyafcdec( ~ eqincome + hy050n ,  ~1 , des_eusilc_rep , k = .5 , g = 0, cutoffs = cos )

svyafcdec( ~ eqincome + hy050n ,  ~rb090 , des_eusilc , k = .5 , g = 0, cutoffs = cos )
svyafcdec( ~ eqincome + hy050n ,  ~rb090 , des_eusilc_rep , k = .5 , g = 0, cutoffs = cos )

# subsetting:
sub_des_eusilc <- subset( des_eusilc, db040 == "Styria")
sub_des_eusilc_rep <- subset( des_eusilc_rep, db040 == "Styria")

svyafcdec( ~ eqincome + hy050n ,  ~1 , sub_des_eusilc , k = .5 , g = 0, cutoffs = cos )
svyafcdec( ~ eqincome + hy050n ,  ~1 , sub_des_eusilc_rep , k = .5 , g = 0, cutoffs = cos )

svyafcdec( ~ eqincome + hy050n ,  ~rb090 , sub_des_eusilc ,
k = .5 , g = 0, cutoffs = cos )
svyafcdec( ~ eqincome + hy050n ,  ~rb090 , sub_des_eusilc_rep ,
k = .5 , g = 0, cutoffs = cos )

# }
# NOT RUN {
# including factor variable with missings
cos <- list( 10000, 5000, "EU" )
svyafcdec(~eqincome+hy050n+pb220a,  ~1 , des_eusilc,
		k = .5, g = 0, cutoffs = cos , na.rm = FALSE )
svyafcdec(~eqincome+hy050n+pb220a,  ~1 , des_eusilc,
		k = .5, g = 0, cutoffs = cos , na.rm = TRUE )
svyafcdec(~eqincome+hy050n+pb220a,  ~1 , des_eusilc_rep,
		k = .5, g = 0, cutoffs = cos , na.rm = FALSE )
svyafcdec(~eqincome+hy050n+pb220a,  ~1 , des_eusilc_rep,
		k = .5, g = 0, cutoffs = cos , na.rm = TRUE )

svyafcdec(~eqincome+hy050n+pb220a,  ~rb090 , des_eusilc,
		k = .5, g = 0, cutoffs = cos , na.rm = FALSE )
svyafcdec(~eqincome+hy050n+pb220a,  ~rb090 , des_eusilc,
		k = .5, g = 0, cutoffs = cos , na.rm = TRUE )
svyafcdec(~eqincome+hy050n+pb220a,  ~rb090 , des_eusilc_rep,
		k = .5, g = 0, cutoffs = cos , na.rm = FALSE )
svyafcdec(~eqincome+hy050n+pb220a,  ~rb090 , des_eusilc_rep,
		k = .5, g = 0, cutoffs = cos , na.rm = TRUE )

# database-backed design
library(RSQLite)
library(DBI)
dbfile <- tempfile()
conn <- dbConnect( RSQLite::SQLite() , dbfile )
dbWriteTable( conn , 'eusilc' , eusilc )

dbd_eusilc <-
	svydesign(
		ids = ~rb030 ,
		strata = ~db040 ,
		weights = ~rb050 ,
		data="eusilc",
		dbname=dbfile,
		dbtype="SQLite"
	)

dbd_eusilc <- convey_prep( dbd_eusilc )
dbd_eusilc <- update( dbd_eusilc, pb220a = ordered( pb220a ) )

# cutoffs
cos <- list( 10000 , 5000 )

# variables without missing values
svyafcdec( ~eqincome+hy050n ,  ~1 , des_eusilc ,
k = .5 , g = 0, cutoffs = cos )
svyafcdec( ~eqincome+hy050n ,  ~rb090 , des_eusilc ,
k = .5 , g = 0, cutoffs = cos )

# subsetting:
sub_des_eusilc <- subset( des_eusilc, db040 == "Styria")

svyafcdec( ~ eqincome + hy050n ,  ~1 , sub_des_eusilc ,
		k = .5 , g = 0, cutoffs = cos )

svyafcdec( ~ eqincome + hy050n ,  ~rb090 , sub_des_eusilc ,
		k = .5 , g = 0, cutoffs = cos )

# including factor variable with missings
cos <- list( 10000, 5000, "EU" )

svyafcdec(~eqincome+hy050n+pb220a,  ~1 , dbd_eusilc,
		k = .5, g = 0, cutoffs = cos , na.rm = FALSE )
svyafcdec(~eqincome+hy050n+pb220a,  ~1 , dbd_eusilc,
		k = .5, g = 0, cutoffs = cos , na.rm = TRUE )

svyafcdec(~eqincome+hy050n+pb220a,  ~rb090 , dbd_eusilc,
		k = .5, g = 0, cutoffs = cos , na.rm = FALSE )
svyafcdec(~eqincome+hy050n+pb220a,  ~rb090 , dbd_eusilc,
		k = .5, g = 0, cutoffs = cos , na.rm = TRUE )

dbRemoveTable( conn , 'eusilc' )

dbDisconnect( conn , shutdown = TRUE )

# }
# NOT RUN {
# }

Run the code above in your browser using DataCamp Workspace