svyrenyi: Renyi divergence measure (EXPERIMENTAL)

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/svyrenyi.R

Description

Estimate the Renyi divergence measure, a measure of inequality

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
svyrenyi(formula, design, ...)

## S3 method for class 'survey.design'
svyrenyi(formula, design, epsilon = 1, na.rm = FALSE, ...)

## S3 method for class 'svyrep.design'
svyrenyi(formula, design, epsilon = 1, na.rm = FALSE, ...)

## S3 method for class 'DBIsvydesign'
svyrenyi(formula, design, ...)

Arguments

formula

a formula specifying the income variable

design

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

...

future expansion

epsilon

a parameter that determines the sensivity towards inequality on the top of the distribution. Defaults to epsilon = 1.

na.rm

Should cases with missing values be dropped?

Details

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

If epsilon == 1, the result matches svygei with epsilon == 1. As in the generalized entropy index, when epsilon == 1, the logarithm in the function only allows for strictly positive variables.

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.

Note

This function is experimental and is subject to change in later versions.

Author(s)

Guilherme Jacob, Djalma Pessoa and Anthony Damico

References

Matti Langel (2012). Measuring inequality in finite population sampling. PhD thesis: Universite de Neuchatel, URL https://doc.rero.ch/record/29204/files/00002252.pdf.

See Also

svygei

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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)

svyrenyi( ~eqincome , design = des_eusilc, epsilon = .5 )

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

svyrenyi( ~eqincome , design = des_eusilc_rep, epsilon = .5 )

## Not run: 

# linearized design using a variable with missings
svyrenyi( ~py010n , design = des_eusilc, epsilon = .5 )
svyrenyi( ~py010n , design = des_eusilc, epsilon = .5, na.rm = TRUE )
# replicate-weighted design using a variable with missings
svyrenyi( ~py010n , design = des_eusilc_rep, epsilon = .5 )
svyrenyi( ~py010n , design = des_eusilc_rep, epsilon = .5, 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 )

svyrenyi( ~eqincome , design = dbd_eusilc, epsilon = .5 )

# Testing if Renyi and GEI match when epsilon == 1:
svyrenyi( ~eqincome , design = subset(dbd_eusilc, eqincome > 0 ), epsilon = 1 )
svygei( ~eqincome , design = subset(dbd_eusilc, eqincome > 0 ), epsilon = 1 )

dbRemoveTable( conn , 'eusilc' )

dbDisconnect( conn , shutdown = TRUE )


## End(Not run)

convey documentation built on July 1, 2020, 11:44 p.m.