convey (version 0.2.2)

svybmi: Bourguignon (1999) multidimensional inequality indices (EXPERIMENTAL)

Description

Estimate indices from the Bourguignon (1999) class, a class of multidimensional inequality measures.

Usage

svybmi(formula, design, ...)

# S3 method for survey.design svybmi( formula, design, alpha = 0.5, beta = -2, dimw = NULL, na.rm = FALSE, ... )

# S3 method for svyrep.design svybmi( formula, design, alpha = 0.5, beta = -2, dimw = NULL, na.rm = FALSE, ... )

# S3 method for DBIsvydesign svybmi(formula, design, ...)

Arguments

formula

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

design

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

...

future expansion

alpha

a scalar defining the exponent of the indicator.

beta

a scalar defining the exponent of the indicator.

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

Francois Bourguignon (1999). Comment to 'Multidimensioned Approaches to Welfare Analysis' by Maasoumi, E. In: Handbook of income inequality measurement., ed. J. Silber, Boston, Dordrecht and London: Kluwer Academic, p. 477-484.

Maria Ana Lugo (2007). Comparing multidimensional indices of inequality: Methods and application. In: Research on Economic Inequality. Emerald, p. 213-236.

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", replicates = 50 )
des_eusilc_rep <- convey_prep(des_eusilc_rep)

# linearized
svybmi(~eqincome+hy050n, design = des_eusilc, alpha = .5, beta = .5, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = des_eusilc, alpha = .5, beta = 0, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = des_eusilc, alpha = .5, beta = -.5, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = des_eusilc, alpha = .5, beta = -1, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = des_eusilc, alpha = .5, beta = -2, na.rm = FALSE )

# replicate
svybmi(~eqincome+hy050n, design = des_eusilc_rep, alpha = .5, beta = .5, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = des_eusilc_rep, alpha = .5, beta = 0, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = des_eusilc_rep, alpha = .5, beta = -.5, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = des_eusilc_rep, alpha = .5, beta = -1, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = des_eusilc_rep, alpha = .5, beta = -2, na.rm = FALSE )

# }
# NOT RUN {
# 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 )

# linearized
svybmi(~eqincome+hy050n, design = dbd_eusilc, alpha = .5, beta = .5, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = dbd_eusilc, alpha = .5, beta = 0, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = dbd_eusilc, alpha = .5, beta = -.5, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = dbd_eusilc, alpha = .5, beta = -1, na.rm = FALSE )
svybmi(~eqincome+hy050n, design = dbd_eusilc, alpha = .5, beta = -2, na.rm = FALSE )

# subsetting:
sub_dbd_eusilc <- subset( dbd_eusilc, db040 == "Styria")
svybmi(~eqincome+hy050n, design = sub_dbd_eusilc, alpha = .5, beta = .5, na.rm = FALSE )

dbRemoveTable( conn , 'eusilc' )

dbDisconnect( conn , shutdown = TRUE )

# }
# NOT RUN {
# }

Run the code above in your browser using DataLab