Skip to contents

pipgd_quantile_welfare_share returns the share of welfare held by a particular quantile. Notice that pipgd_welfare_share_at get the share of welfare held by a particular share of the population, which is in a sense the cumulative share. Instead, pipgd_quantile_welfare_share returns the proportion of welfare that only the specified quantile holds.

Usage

pipgd_quantile_welfare_share(
  params = NULL,
  welfare = NULL,
  weight = NULL,
  complete = getOption("pipster.return_complete"),
  lorenz = NULL,
  n = 10,
  popshare = seq(from = 1/n, to = 1, by = 1/n)
)

Arguments

params

list of parameters from pipgd_validate_lorenz()

welfare

numeric vector of cumulative share of welfare (income/consumption)

weight

numeric vector of cumulative share of the population

complete

logical: If TRUE, returns a list a cumulative returns from previously used get_gd functions. Default is FALSE

lorenz

character or NULL. Lorenz curve selected. It could be "lq" for Lorenz Quadratic or "lb" for Lorenz Beta

n

numeric scalar for the number of quantiles to be used in popshare

popshare

numeric: vector of share of population. Default is seq(from = 1/n, to = 1, by = 1/n)

Value

Returns a nested list containing distribution statistics: $dist_stats$pop_share is a numeric vector containing the share of the population. $dist_stats$quantile_welfare_share is a numeric vector showing the corresponding share of welfare. If complete = TRUE, it returns a pipgd_params object with additional details and intermediate calculations.

Examples

# Example 1: Basic usage with default parameters
pipgd_quantile_welfare_share(welfare = pip_gd$L,
                             weight = pip_gd$P,
                             complete = FALSE)
#> $dist_stats
#> $dist_stats$popshare
#>  [1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
#> 
#> $dist_stats$quantile_welfare_share
#>  [1] 0.03911772 0.05155974 0.06195678 0.07149424 0.08094994 0.09106744
#>  [7] 0.10288972 0.11849266 0.14404584 0.23842592
#> 
#> 

# Example 2: Specifying a custom quantile (e.g. 5)
pipgd_quantile_welfare_share(welfare = pip_gd$L,
                             weight = pip_gd$P,
                             complete = FALSE,
                             n = 5)
#> $dist_stats
#> $dist_stats$popshare
#> [1] 0.2 0.4 0.6 0.8 1.0
#> 
#> $dist_stats$quantile_welfare_share
#> [1] 0.09067747 0.13345103 0.17201737 0.22138237 0.38247176
#> 
#> 

# Example 3: Using a custom population share vector
custom_popshare_vector <- seq(from = 1/13, to = 1, length.out = 13)
pipgd_quantile_welfare_share(welfare = pip_gd$L,
                             weight = pip_gd$P,
                             complete = FALSE,
                             popshare = custom_popshare_vector)
#> $dist_stats
#> $dist_stats$popshare
#>  [1] 0.07692308 0.15384615 0.23076923 0.30769231 0.38461538 0.46153846
#>  [7] 0.53846154 0.61538462 0.69230769 0.76923077 0.84615385 0.92307692
#> [13] 1.00000000
#> 
#> $dist_stats$quantile_welfare_share
#>  [1] 0.03911772 0.05155974 0.06195678 0.07149424 0.08094994 0.09106744
#>  [7] 0.10288972 0.11849266 0.14404584 0.23842592
#> 
#> 

# Example 4: Using a different Lorenz curve (e.g., Lorenz Beta)
pipgd_quantile_welfare_share(welfare = pip_gd$L,
                             weight = pip_gd$P,
                             complete = FALSE,
                             lorenz = "lb")
#> $dist_stats
#> $dist_stats$popshare
#>  [1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
#> 
#> $dist_stats$quantile_welfare_share
#>  [1] 0.03911772 0.05155974 0.06195678 0.07149424 0.08094994 0.09106744
#>  [7] 0.10288972 0.11849266 0.14404584 0.23842592
#> 
#> 

# Example 5: Detailed output with complete = TRUE
pipgd_quantile_welfare_share(welfare = pip_gd$L,
                             weight = pip_gd$P,
                             complete = TRUE)
#> $gd_params
#> $gd_params$lq
#> $gd_params$lq$reg_results
#> $gd_params$lq$reg_results$ymean
#> [1] 0.1219752
#> 
#> $gd_params$lq$reg_results$sst
#> [1] 0.08456216
#> 
#> $gd_params$lq$reg_results$coef
#>          A          B          C 
#>  0.8877478 -1.4514459  0.2026400 
#> 
#> $gd_params$lq$reg_results$sse
#> [1] 3.418058e-06
#> 
#> $gd_params$lq$reg_results$r2
#> [1] 0.9999596
#> 
#> $gd_params$lq$reg_results$mse
#> [1] 3.797842e-07
#> 
#> $gd_params$lq$reg_results$se
#> [1] 0.006673127 0.019034521 0.012827923
#> 
#> 
#> $gd_params$lq$key_values
#> $gd_params$lq$key_values$e
#> [1] -0.638942
#> 
#> $gd_params$lq$key_values$m
#> [1] -1.444296
#> 
#> $gd_params$lq$key_values$n
#> [1] 1.044219
#> 
#> $gd_params$lq$key_values$r
#> [1] 1.857124
#> 
#> $gd_params$lq$key_values$s1
#> [1] -0.2814192
#> 
#> $gd_params$lq$key_values$s2
#> [1] 1.004414
#> 
#> 
#> $gd_params$lq$validity
#> $gd_params$lq$validity$is_normal
#> [1] TRUE
#> 
#> $gd_params$lq$validity$is_valid
#> [1] TRUE
#> 
#> $gd_params$lq$validity$headcount
#> [1] 0.6284604
#> 
#> 
#> 
#> $gd_params$lb
#> $gd_params$lb$reg_results
#> $gd_params$lb$reg_results$ymean
#> [1] -2.496791
#> 
#> $gd_params$lb$reg_results$sst
#> [1] 10.98072
#> 
#> $gd_params$lb$reg_results$coef
#>         A         B         C 
#> 0.5613532 0.9309501 0.5800259 
#> 
#> $gd_params$lb$reg_results$sse
#> [1] 0.003204989
#> 
#> $gd_params$lb$reg_results$r2
#> [1] 0.9997081
#> 
#> $gd_params$lb$reg_results$mse
#> [1] 0.0003561098
#> 
#> $gd_params$lb$reg_results$se
#> [1] 0.014871578 0.005505620 0.006407669
#> 
#> 
#> $gd_params$lb$key_values
#> [1] NA
#> 
#> $gd_params$lb$validity
#> $gd_params$lb$validity$is_valid
#> [1] TRUE
#> 
#> $gd_params$lb$validity$is_normal
#> [1] TRUE
#> attr(,"label")
#> [1] "Normality with a mean of 1 and a poverty line of 1;1 times the mean."
#> 
#> $gd_params$lb$validity$headcount
#> [1] 0.6161877
#> 
#> 
#> 
#> 
#> $data
#> $data$welfare
#>  [1] 0.00208 0.01013 0.03122 0.07083 0.12808 0.23498 0.34887 0.51994 0.64270
#> [10] 0.79201 0.86966 0.91277 1.00000
#> attr(,"label")
#> [1] "Cumulative share of welfare"
#> 
#> $data$weight
#>  [1] 0.0092 0.0339 0.0850 0.1640 0.2609 0.4133 0.5497 0.7196 0.8196 0.9174
#> [11] 0.9570 0.9751 1.0000
#> attr(,"label")
#> [1] "Cumulative share of population"
#> 
#> 
#> $selected_lorenz
#> $selected_lorenz$for_dist
#> [1] "lq"
#> 
#> $selected_lorenz$for_pov
#> [1] "lb"
#> 
#> $selected_lorenz$use_lq_for_dist
#> [1] TRUE
#> 
#> $selected_lorenz$use_lq_for_pov
#> [1] FALSE
#> 
#> 
#> $dist_stats
#> $dist_stats$popshare
#>  [1] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
#> 
#> $dist_stats$quantile_welfare_share
#>  [1] 0.03911772 0.05155974 0.06195678 0.07149424 0.08094994 0.09106744
#>  [7] 0.10288972 0.11849266 0.14404584 0.23842592
#> 
#> 
#> attr(,"class")
#> [1] "pipgd_params"