Datos para el ejemplo:
ingreso<-c(58, 79, 376, 403, 121, 284, 299, 385, 537, 545, 569, 577, 584, 723, 729,737,746)
FGTα=1n∑i=1q(z−yiz)α Donde: q es la cantidad de personas con una renta inferior al umbral de pobreza[z], yi es la renta de las personas que están por debajo de z , n es la cantidad total de personas con un nivel de ingresos & α modifica el indicador de pobreza a obtener: α=0 , es decir a la tasa de recuento. α=1 , es decir a la brecha de pobreza. α=2 , es decir al indice de severidad de pobreza.
# Construcción de una función personalizada.
pobreza_FGT_alpha <- function(vector_ingreso, linea_pobreza,alpha=0) {
PG_vector <-
(linea_pobreza - vector_ingreso[vector_ingreso < linea_pobreza]) / linea_pobreza
n <- length(vector_ingreso)
FGT<- (1 / n) * sum(PG_vector ^ alpha)
FGT
}
FGT0=1n∑i=1q(z−yiz)0≡H=qn Donde: H es la tasa de pobreza, q es la cantidad de personas con una renta inferior al umbral de pobreza[z], & n es la cantidad total de personas con un nivel de ingresos.
#Tasa de recuento H:
pobreza_FGT_alpha(ingreso, linea_pobreza = 300,alpha = 0)
## [1] 0.2941176
También se puede obtener así:
#Recuento:H Head Count
pobreza_H <- function(vector_ingreso, linea_pobreza) {
q <- length(vector_ingreso[vector_ingreso < linea_pobreza])
n <- length(vector_ingreso)
H <- q / n
H_data <- list(q = q, n = n, H = H)
}
pobreza_H(ingreso, linea_pobreza = 300)$H
## [1] 0.2941176
PG=1n∑i=1q(z−yiz) Donde: q es la cantidad de personas con una renta inferior al umbral de pobreza[z], yi es la renta de las personas que están por debajo de z , & n es la cantidad total de personas con un nivel de ingresos.
#Brecha de pobreza PG:
pobreza_FGT_alpha(ingreso, linea_pobreza = 300,alpha = 1)
## [1] 0.1292157
También se puede obtener así:
pobreza_PG <- function(vector_ingreso, linea_pobreza) {
PG_vector <-
(linea_pobreza - vector_ingreso[vector_ingreso < linea_pobreza]) / linea_pobreza
n <- length(vector_ingreso)
PG <- (1 / n) * sum(PG_vector)
list(PG_vector = PG_vector, PG = PG)
}
pobreza_PG(ingreso, linea_pobreza = 300)$PG
## [1] 0.1292157
Indice de Severidad de la Pobreza FGT2 FGT2=1n∑i=1q(z−yiz)2 Donde: q es la cantidad de personas con una renta inferior al umbral de pobreza[z], yi es la renta de las personas que están por debajo de z , & n es la cantidad total de personas con un nivel de ingresos.
#Indice de severidad de pobreza FGT2:
pobreza_FGT_alpha(ingreso, linea_pobreza = 300,alpha = 2)
## [1] 0.09130915
También se puede obtener así:
pobreza_FGT2 <- function(vector_ingreso, linea_pobreza) {
PG_vector <-
(linea_pobreza - vector_ingreso[vector_ingreso < linea_pobreza]) / linea_pobreza
n <- length(vector_ingreso)
FGT2 <- (1 / n) * sum(PG_vector ^ 2)
list(PG_vector = PG_vector, FGT2 = FGT2)
}
pobreza_FGT2(ingreso, linea_pobreza = 300)$FGT2
## [1] 0.09130915
Brecha de Media de ingresos I I=z−y¯z Donde: z es el umbral de pobreza, y¯ es la renta media de las personas con un ingreso inferior a z .
pobreza_I <- function(vector_ingreso, linea_pobreza) {
ybar <- mean(vector_ingreso[vector_ingreso < linea_pobreza])
I <- (linea_pobreza - ybar) / linea_pobreza
I_data <- list(ybar = ybar, I = I)
}
pobreza_I(ingreso, linea_pobreza = 300)$I #prueba
## [1] 0.4393333
En la libreria ineq, el argumento parameter, de la función Foster, tiene una interpretación diferente a la del α , del indicador FTG general: FGTα=1n∑i=1q(z−yiz)α parameter=1 equivale a α=0 , es decir a la tasa de recuento. parameter=2 equivale a α=1 , es decir a la brecha de pobreza. parameter=3 equivale a α=2 , es decir al indice de severidad de pobreza.
library(ineq)
ineq::Foster(x = ingreso,k = 300,parameter = 1)
## [1] 0.2941176
library(ineq)
ineq::Foster(x = ingreso,k = 300,parameter = 2)
## [1] 0.1292157
library(ineq)
ineq::Foster(x = ingreso,k = 300,parameter = 3)
## [1] 0.09130915
library(ineq)
ineq::Foster(x = ingreso,k = 300,parameter = 2) / ineq::Foster(x = ingreso,k = 300,parameter = 1)
## [1] 0.4393333
y <- c(100, 200, 300, 400)
n <- c(50, 25, 75, 25)
library(ineq)
library(purrr)
#H
map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 0)
## [1] 0.4285714
map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 1)
## [1] 0.4285714
#PG
map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 1)
## [1] 0.2380952
map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 2)
## [1] 0.2380952
#FGT2
map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 2)
## [1] 0.1428571
#------------
map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 3)
## [1] 0.1428571
#I
(map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 1))/(map2(y,n,.f = rep) %>% unlist() %>%
pobreza_FGT_alpha(linea_pobreza = 300,alpha = 0))
## [1] 0.5555556
#---------
(map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 2)) / (map2(y,n,.f = rep) %>% unlist() %>%
Foster(k = 300,parameter = 1))
## [1] 0.5555556