En primer lloc, i atenent a l’ODS 3 (garantir una vida sana i promoure el benestar per a tothom a totes les edats, assegurant així el desenvolupament sostenible), analitzarem l’esperança de vida dels diferents països.
En concret, ens preguntem:
PR1: L’esperança de vida és més alta als països amb un nivell d’ingressos elevat que a la resta?
Per donar resposta a aquesta pregunta, farem servir una anàlisi descriptiva i inferencial.
Seguiu els passos que s’indiquen a continuació.
Abans de realitzar l’anàlisi inferencial, efectuarem una anàlisi descriptiva d’aquesta variable. Mostreu un gràfic comparant l’esperança de vida segons el nivell d’ingressos. Podeu usar un gràfic de tipus boxplot.
Feu servir les variables: SP.DYN.LE00.IN (LE), Income i Region. Per fer el codi més comprensible, podeu reanomenar la variable d’esperança de vida com a LE (Life Expectancy).
# Canvia el nom de la variable d’esperança de vida
ds <- ds %>%
rename(LE = SP.DYN.LE00.IN)
Resposta:
# Conjunt de dades temporal amb només les dades de les variables d’interès sense
# valors NA, ordenant els nivells de la variable Income
ds_income <- ds %>%
filter(!is.na(LE), !is.na(Income), Year == 2018) %>%
mutate(Income = factor(Income, levels = c(
"Low income",
"Lower-middle income",
"Upper-middle income",
"High income"
))) %>%
select(LE, Income)
# Mostra un boxplot de l’esperança de vida segons el nivell d’ingressos
ggplot(ds_income, aes(x = Income, y = LE)) +
geom_boxplot(fill = "lightgreen", color = "darkgreen") +
labs(
title = "Esperança de vida segons el nivell d'ingressos (2018)",
x = "Nivell d'ingressos",
y = "Esperança de vida (LE)"
) +
theme_minimal()
# Conjunt de dades temporal amb només les dades de les variables d’interès sense
# valors NA
ds_region <- ds %>%
filter(!is.na(LE), !is.na(Region), Year == 2018) %>%
select(LE, Region)
# Mostra un boxplot de l’esperança de vida segons la regió
ggplot(ds_region, aes(x = Region, y = LE)) +
geom_boxplot(fill = "burlywood", color = "burlywood4") +
labs(
title = "Esperança de vida segons la regió (2018)",
x = "Regió",
y = "Esperança de vida (LE)"
) +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
La distribució de l’esperança de vida segons el nivell d’ingressos és relativament homogènia entre els diferents grups, en contrast amb la distribució per regions, que mostra una major heterogeneïtat. Els països amb ingressos més alts presenten valors mitjans d’esperança de vida més elevats i una dispersió menor, fet que reflecteix una distribució més uniforme. Per contra, a mesura que disminueix el nivell d’ingressos, l’esperança de vida tendeix a reduir-se i la variabilitat augmenta, evidenciant una major heterogeneïtat.
L’Àfrica subsahariana és la regió amb l’esperança de vida més baixa en comparació amb la resta del món. Gairebé totes les regions mostren distribucions força similars; tanmateix, n’hi ha dues on la desviació estàndard és més elevada, la qual cosa suggereix que en aquestes regions conviuen països amb diversos nivells d’ingressos.
Per a l’anàlisi inferencial, compareu els països amb ingressos alts (“High income”) amb la resta. Feu servir com a mostra l’últim any del conjunt de dades (2018).
Escriviu les hipòtesis estadístiques a partir de la pregunta de recerca.
Resposta:
Quin tipus de test estadístic és apropiat per donar resposta a la pregunta? Justifiqueu la vostra elecció.
Resposta:
Test unilateral de dues mostres independents sobre la mitjana de l’esperança de vida de països amb ingressos alts i la resta, amb variàncies desconegudes diferents.
Es tracta d’un test de comparació de mitjanes entre dos grups independents (països amb ingressos alts i països amb altres nivells d’ingressos). És unilateral perquè l’hipòtesi alternativa estableix que la mitjana d’un grup és major que l’altra. Les variàncies són desconegudes perquè no es disposa d’informació prèvia sobre elles.
# test d'homoscedasticitat
var.test(
ds_income$LE[ds_income$Income == "High income"],
ds_income$LE[ds_income$Income != "High income"]
)
##
## F test to compare two variances
##
## data: ds_income$LE[ds_income$Income == "High income"] and ds_income$LE[ds_income$Income != "High income"]
## F = 0.23061, num df = 52, denom df = 118, p-value = 3.989e-08
## alternative hypothesis: true ratio of variances is not equal to 1
## 95 percent confidence interval:
## 0.1478949 0.3751652
## sample estimates:
## ratio of variances
## 0.2306051
A més, segons el test d’homoscedasticitat les variances no són iguals, valor p obtingut és menor que el nivell de significança i la relació de les variàncies és diferent de 1 (aproximadament 1/4).
Feu servir una llibreria de R per aplicar el test seleccionat.
Nota: descarteu temporalment els valors absents de la variable esperança de vida, sense eliminar-los del conjunt original, per tal de preservar la resta d’informació. Podeu crear un conjunt de dades que contingui només l’any 2018 i els valors existents de l’esperança de vida i dels ingressos.
Resposta:
# Aplica el test t de Student per a mostres independents amb variàncies
# desconegudes iguals
t.test(
ds_income$LE[ds_income$Income == "High income"],
ds_income$LE[ds_income$Income != "High income"],
alternative = "greater",
var.equal = TRUE
)
##
## Two Sample t-test
##
## data: ds_income$LE[ds_income$Income == "High income"] and ds_income$LE[ds_income$Income != "High income"]
## t = 10.705, df = 170, p-value < 2.2e-16
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
## 8.716509 Inf
## sample estimates:
## mean of x mean of y
## 79.96936 69.66007
# Aplica el test t de Student per a mostres independents amb variàncies
# desconegudes diferents
t.test(
ds_income$LE[ds_income$Income == "High income"],
ds_income$LE[ds_income$Income != "High income"],
alternative = "greater",
var.equal = FALSE
)
##
## Welch Two Sample t-test
##
## data: ds_income$LE[ds_income$Income == "High income"] and ds_income$LE[ds_income$Income != "High income"]
## t = 13.688, df = 169.01, p-value < 2.2e-16
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
## 9.06359 Inf
## sample estimates:
## mean of x mean of y
## 79.96936 69.66007
En ambdos casos el valor p obtingut és menor que el nivell de significança i, per tant, es rebutja l’hipòtesi nul·la H0 en favor de l’hipòtesi alternativa H1.
Desenvolupeu un codi propi que implementi la prova utilitzada en
l’apartat anterior i comproveu que obteniu el mateix resultat. Podeu fer
servir les funcions qnorm, pnorm,
qt, pt, etc.
Resposta:
La funció següent implementa el test de dues mostres independents sobre la mitjana amb variàncies desconegudes diferents:
TEST_MEAN <- function(x1, x2, lc = 95, alternative = "greater") {
# Calcula les mitjanes i desviacions estàndard de les dues mostres
mean_x1 <- mean(x1)
mean_x2 <- mean(x2)
sd_x1 <- sd(x1)
sd_x2 <- sd(x2)
n_x1 <- length(x1)
n_x2 <- length(x2)
# Calcula l'estadístic de contrast t (fórmula 14)
t_stat <- (mean_x1 - mean_x2) /
sqrt((sd_x1^2 / n_x1) + (sd_x2^2 / n_x2))
# Calcula els graus de llibertat (fórmula 15)
df_value <- ((sd_x1^2 / n_x1) + (sd_x2^2 / n_x2))^2 /
(((sd_x1^2 / n_x1)^2 / (n_x1 - 1)) +
((sd_x2^2 / n_x2)^2 / (n_x2 - 1)))
# Calcula el valor p segons l'alternativa seleccionada
if (alternative == "greater") {
p_value <- 1 - pt(t_stat, df = df_value)
} else if (alternative == "less") {
p_value <- pt(t_stat, df = df_value)
} else {
p_value <- 2 * min(pt(t_stat, df = df_value), 1 - pt(t_stat, df = df_value))
}
# Retorna els resultats
return(list(
mean_x1 = mean_x1,
mean_x2 = mean_x2,
t = t_stat,
df = df_value,
p_value = p_value
))
}
Amb la vostra funció, mostreu els resultats incloent-hi les mitjanes, el valor observat, l’estadístic de contrast i el valor p.
Resposta:
# Aplica la funció TEST a les dues mostres
resultats <- TEST_MEAN(
ds_income$LE[ds_income$Income == "High income"],
ds_income$LE[ds_income$Income != "High income"],
alternative = "greater"
)
resultats
## $mean_x1
## [1] 79.96936
##
## $mean_x2
## [1] 69.66007
##
## $t
## [1] 13.68759
##
## $df
## [1] 169.0104
##
## $p_value
## [1] 0
A partir dels resultats anteriors, doneu resposta a la pregunta de recerca plantejada.
Resposta:
Si comparem els resultats obtinguts amb la funció pròpia i la funció de R, observem que són coherents. Hi ha evidència suficient, \(p < 0,05\), per rebutjar la hipòtesi nul·la a favor de l’alternativa, per tant, l’esperança de vida és més alta als països amb ingressos alts en comparació amb els països amb altres nivells d’ingressos, com es va observar en l’anàlisi descriptiva.
A continuació, analitzarem com ha evolucionat la desigualtat econòmica al llarg dels anys. Aquest apartat s’alinea amb l’ODS 10 (reduir la desigualtat dins dels països i entre ells).
Ens centrarem en la següent pregunta de recerca:
PR2: La desigualtat es redueix en un període de 10 anys?
Per donar-hi resposta, usarem les dades del darrer any, 2018, i com a any inicial, el 2008. Considereu primer tots els països del món, i després només els països de la regió “Europe and Northern America”. Per a fer el codi més comprensible, reanomeneu la variable SI.POV.GINI com a GINI. Seguiu els passos que s’indiquen a continuació.
# Canvia el nom de la variable d’índex GINI
ds <- ds %>%
rename(GINI = SI.POV.GINI)
Per a analitzar visualment la resposta, mostreu en un gràfic la desigualtat dels països a l’any 2008 i a l’any 2018. Podeu usar un gràfic de tipus boxplot. Mostreu dos gràfics: un incloent tots els països del món i el segon, només amb els països de la regió “Europe and Northern America”.
Així mateix, mostreu una taula amb els cinc països amb més desigualtat i els cinc països amb menys desigualtat (a tot el món i considerant només la regió “Europe and Northern America”).
Resposta:
# Conjunt de dades temporal amb només les dades de les variables d’interès sense
# valors NA
ds_world <- ds %>%
filter(!is.na(GINI), Year %in% c(2008, 2018)) %>%
select(GINI, Year)
# Mostra un boxplot de l’índex GINI segons l’any
ggplot(ds_world, aes(x = factor(Year), y = GINI)) +
# tow red colors
geom_boxplot(fill = "lightcoral", color = "darkred") +
labs(
title = "Índex GINI incloent tots els països del món (2008 vs 2018)",
x = "Any",
y = "Índex GINI"
) +
theme_minimal()
# Conjunt de dades temporal amb només les dades de les variables d’interès
# sense valors NA per a la regió "Europe and Northern America"
ds_region <- ds %>%
filter(
!is.na(GINI), Year %in% c(2008, 2018),
Region == "Europe and Northern America"
) %>%
select(GINI, Year)
# Mostra un boxplot de l’índex GINI segons l’any per a la regió "Europe and
# Northern America"
ggplot(ds_region, aes(x = factor(Year), y = GINI)) +
geom_boxplot(fill = "lightblue", color = "darkblue") +
labs(
title = "Índex GINI als països d'Europa i Amèrica del Nord (2008 vs 2018)",
x = "Any",
y = "Índex GINI"
) +
theme_minimal()
# Conjunt de dades temporal amb només les dades de les variables d’interès
# sense valors NA per a l’any 2008
ds_world_2008 <- ds %>%
filter(!is.na(GINI), Year == 2008) %>%
select(Country, GINI) %>%
arrange(desc(GINI))
ds_world_2008 <- rbind(
ds_world_2008 %>%
slice_head(n = 5),
ds_world_2008 %>%
slice_tail(n = 5)
)
# Afegeix un index als països per a poder fer la unió al conjunt de dades final
ds_world_2008 <- ds_world_2008 %>%
mutate(Index = row_number())
# Conjunt de dades temporal amb només les dades de les variables d’interès
# sense valors NA per a l’any 2018
ds_world_2018 <- ds %>%
filter(!is.na(GINI), Year == 2018) %>%
select(Country, GINI) %>%
arrange(desc(GINI))
ds_world_2018 <- rbind(
ds_world_2018 %>%
slice_head(n = 5),
ds_world_2018 %>%
slice_tail(n = 5)
)
# Afegeix un index als països per a poder fer la unió al conjunt de dades final
ds_world_2018 <- ds_world_2018 %>%
mutate(Index = row_number())
# Uneix els dos conjunts de dades per a mostrar-los en una sola taula
ds_world <- ds_world_2008 %>%
inner_join(ds_world_2018, by = "Index", suffix = c("_2008", "_2018")) %>%
select(
Country_2018,
GINI_2008,
Country_2008,
GINI_2018
)
# Mostra els cinc paisos amb index GINI més alt i els cinc amb més baix per a
# l'any 2018 en una sola taula
kable(
ds_world,
digits = 2,
decimal.mark = ",",
caption = "Països del món amb més i menys desigualtat (índex GINI)
(any 2008 vs 2018)",
col.names = c(
"País",
"Índex GINI",
"País",
"Índex GINI"
)
) %>%
add_header_above(
c("2008" = 2, "2018" = 2)
) %>%
kable_styling(
"striped",
latex_options = c("striped", "scale_down", "repeat_header"),
position = "center",
full_width = FALSE
) %>%
pack_rows("Països amb més desigualtat", 1, 5) %>%
pack_rows("Països amb menys desigualtat", 6, 10)
| País | Índex GINI | País | Índex GINI |
|---|---|---|---|
| Països amb més desigualtat | |||
| Brazil | 63.0 | South Africa | 53.9 |
| Angola | 56.2 | Central African Republic | 51.3 |
| Colombia | 55.5 | Honduras | 50.4 |
| Panama | 55.3 | Colombia | 49.2 |
| Honduras | 54.0 | Brazil | 48.9 |
| Països amb menys desigualtat | |||
| Moldova | 26.6 | Ukraine | 25.7 |
| Belarus | 26.3 | Czech Republic | 25.2 |
| Czech Republic | 26.0 | Slovak Republic | 25.0 |
| Slovak Republic | 25.2 | Denmark | 25.0 |
| Slovenia | 23.7 | Slovenia | 24.6 |
# Conjunt de dades temporal amb només les dades de les variables d’interès
# sense valors NA per a l’any 2008
ds_region_2008 <- ds %>%
filter(
!is.na(GINI), Year == 2008,
Region == "Europe and Northern America"
) %>%
select(Country, GINI) %>%
arrange(desc(GINI))
ds_region_2008 <- rbind(
ds_region_2008 %>%
slice_head(n = 5),
ds_region_2008 %>%
slice_tail(n = 5)
)
# Afegeix un index als països per a poder fer la unió al conjunt de dades final
ds_region_2008 <- ds_region_2008 %>%
mutate(Index = row_number())
# Conjunt de dades temporal amb només les dades de les variables d’interès
# sense valors NA per a l’any 2018
ds_region_2018 <- ds %>%
filter(
!is.na(GINI), Year == 2018,
Region == "Europe and Northern America"
) %>%
select(Country, GINI) %>%
arrange(desc(GINI))
ds_region_2018 <- rbind(
ds_region_2018 %>%
slice_head(n = 5),
ds_region_2018 %>%
slice_tail(n = 5)
)
# Afegeix un index als països per a poder fer la unió al conjunt de dades final
ds_region_2018 <- ds_region_2018 %>%
mutate(Index = row_number())
# Uneix els dos conjunts de dades per a mostrar-los en una sola taula
ds_region <- ds_region_2008 %>%
inner_join(ds_region_2018, by = "Index", suffix = c("_2008", "_2018")) %>%
select(
Country_2018,
GINI_2008,
Country_2008,
GINI_2018
)
# Mostra els cinc paisos amb index GINI més alt i els cinc amb més baix per a
# l'any 2018 en una sola taula
kable(
ds_region,
digits = 2,
decimal.mark = ",",
caption = "Països de la regió Europe and Northern America amb més i menys
desigualtat (índex GINI) (any 2008 vs 2018)",
col.names = c(
"País",
"Índex GINI",
"País",
"Índex GINI"
)
) %>%
add_header_above(
c("2008" = 2, "2018" = 2)
) %>%
kable_styling(
"striped",
latex_options = c("striped", "scale_down", "repeat_header"),
position = "center",
full_width = FALSE
) %>%
pack_rows("Països amb més desigualtat", 1, 5) %>%
pack_rows("Països amb menys desigualtat", 6, 10)
| País | Índex GINI | País | Índex GINI |
|---|---|---|---|
| Països amb més desigualtat | |||
| United States | 41.6 | Russian Federation | 41.4 |
| Bulgaria | 40.8 | United States | 41.3 |
| Russian Federation | 37.2 | Latvia | 37.5 |
| Romania | 36.6 | Portugal | 35.8 |
| Lithuania | 36.4 | Romania | 35.7 |
| Països amb menys desigualtat | |||
| Moldova | 26.6 | Ukraine | 25.7 |
| Belarus | 26.3 | Czech Republic | 25.2 |
| Czech Republic | 26.0 | Slovak Republic | 25.0 |
| Slovak Republic | 25.2 | Denmark | 25.0 |
| Slovenia | 23.7 | Slovenia | 24.6 |
Escriviu les hipòtesis estadístiques corresponents a la pregunta de recerca.
Resposta:
Quin tipus de test estadístic és apropiat per donar resposta a la pregunta? Justifiqueu la vostra elecció.
Resposta:
Test unilateral de dues mostres aparellades sobre la mitjana de l’índex GINI dels països de la regió “Europe and Northern America” en els anys 2008 i 2018.
Es tracta d’un test de comparació de mitjanes entre dues mostres relacionades (les mitjanes de l’índex GINI de les regions en dos moments diferents). La comparació es realitza mitjançant un test t de mostres aparellades. (p. 41) És unilateral perquè l’hipòtesi alternativa estableix que la mitjana de la desigualtat en el 2018 és menor que en el 2008.
Feu servir una llibreria de R per aplicar el test seleccionat.
Nota: copieu en un conjunt de dades temporal només les dades que requereixi aquesta anàlisi i elimineu els registres que continguin valors perduts en les variables d’interès.
Resposta:
# Conjunt de dades temporal amb només les dades de les variables d’interès sense
# valors NA
ds_world <- ds %>%
filter(
!is.na(GINI), Year %in% c(2008, 2018)
) %>%
select(Country, GINI, Year) %>%
pivot_wider(names_from = Year, values_from = GINI) %>%
drop_na()
# Aplica el test t de mostres aparellades
t.test(
ds_world$`2018`,
ds_world$`2008`,
alternative = "less",
paired = TRUE
)
##
## Paired t-test
##
## data: ds_world$`2018` and ds_world$`2008`
## t = -2.643, df = 52, p-value = 0.005417
## alternative hypothesis: true mean difference is less than 0
## 95 percent confidence interval:
## -Inf -0.4721233
## sample estimates:
## mean difference
## -1.288679
ds_region <- ds %>%
filter(
!is.na(GINI), Year %in% c(2008, 2018),
Region == "Europe and Northern America"
) %>%
select(Country, GINI, Year) %>%
pivot_wider(names_from = Year, values_from = GINI) %>%
drop_na()
# Aplica el test t de mostres aparellades
t.test(
ds_region$`2018`,
ds_region$`2008`,
alternative = "less",
paired = TRUE
)
##
## Paired t-test
##
## data: ds_region$`2018` and ds_region$`2008`
## t = -0.92225, df = 28, p-value = 0.1821
## alternative hypothesis: true mean difference is less than 0
## 95 percent confidence interval:
## -Inf 0.4047998
## sample estimates:
## mean difference
## -0.4793103
Desenvolupeu un codi propi que implementi la prova utilitzada en
l’apartat anterior i comproveu que obteniu el mateix resultat. Podeu fer
servir les funcions qnorm, pnorm,
qt, pt, etc.
Resposta:
# Calcula les diferències entre les dues mostres
d <- ds_world$`2018` - ds_world$`2008`
# n
length(d)
## [1] 53
# Test de normalitat de les diferències
shapiro.test(d)
##
## Shapiro-Wilk normality test
##
## data: d
## W = 0.97136, p-value = 0.2309
El test Saphiro Wilk indica que les diferències segueixen una distribució normal (valor p > 0.05).
TEST_PAIRED <- function(x1, x2, alternative = "less") {
# Calcula les diferències entre les dues mostres
d <- x1 - x2
# Calcula la mitjana i desviació estàndard de les diferències
mean_d <- mean(d)
sd_d <- sd(d)
n_d <- length(d)
# Calcula l'estadístic de contrast t (fórmula 16)
t_stat <- mean_d / (sd_d / sqrt(n_d))
# Calcula els graus de llibertat
df_value <- n_d - 1
# Calcula el valor p segons l'alternativa seleccionada
if (alternative == "greater") {
p_value <- 1 - pt(t_stat, df = df_value)
} else if (alternative == "less") {
p_value <- pt(t_stat, df = df_value)
} else {
p_value <- 2 * min(pt(t_stat, df = df_value), 1 - pt(t_stat, df = df_value))
}
# Retorna els resultats
return(list(
mean_d = mean_d,
t = t_stat,
df = df_value,
p_value = p_value
))
}
# Aplica la funció TEST_PAIRED a les dues mostres (món)
resultats <- TEST_PAIRED(
ds_world$`2018`,
ds_world$`2008`,
alternative = "less"
)
resultats
## $mean_d
## [1] -1.288679
##
## $t
## [1] -2.642975
##
## $df
## [1] 52
##
## $p_value
## [1] 0.005417203
# Aplica la funció TEST_PAIRED a les dues mostres (Europa i Amèrica del Nord)
resultats <- TEST_PAIRED(
ds_region$`2018`,
ds_region$`2008`,
alternative = "less"
)
resultats
## $mean_d
## [1] -0.4793103
##
## $t
## [1] -0.922249
##
## $df
## [1] 28
##
## $p_value
## [1] 0.1821389
Si comparem els resultats obtinguts amb la funció pròpia i la funció de R, observem que són coherents. Per tant, es pot rebutjar l’hipòtesi nul·la H0, ja que el valor de p és més petit que 0.05.
En aquest apartat ens preguntem si la proporció de països amb alts nivells de desigualtat és diferent segons el règim. Per això, abordem la següent pregunta de recerca:
PR3: La proporció de països amb major desigualtat és diferent entre els països amb règim democràtic i els d’autocràtic?
Considerem “major desigualtat” els països amb un índex GINI superior a 40. Escolliu una mostra de l’any 2018.
Seguiu els passos que s’indiquen a continuació.
Creeu una variable en el conjunt de dades “HighInequality”, que prengui el valor 1 si l’índex GINI és superior a 40 i 0 en cas contrari. Agrupeu els països segons si el règim és democràtic o autocràtic. Mostreu una taula que indiqui la proporció de països amb alta desigualtat segons el tipus de règim (democràtic o autocràtic). Seleccioneu com a mostra l’any 2018.
Nota: igual que en els apartats anteriors, treballeu amb un conjunt de dades temporal que contingui només les dades necessàries i elimineu els registres que continguin valors perduts.
Resposta:
# Conjunt de dades temporal amb només les dades de les variables d’interès sense
# valors NA
ds_regime <- ds %>%
filter(!is.na(GINI), !is.na(Regime), Year == 2018) %>%
select(Country, GINI, Regime) %>%
mutate(HighInequality = ifelse(GINI > 40, 1, 0))
# Taula de proporcions de països amb alta desigualtat segons el tipus de règim
proportions_table <- ds_regime %>%
group_by(Regime) %>%
summarise(
TotalCountries = n(),
HighInequalityCountries = sum(HighInequality),
ProportionHighInequality = HighInequalityCountries / TotalCountries
)
# Formata la proporció com a percentatge
proportions_table$ProportionHighInequality <- scales::percent(
proportions_table$ProportionHighInequality,
accuracy = 1
)
# Mostra la taula
kable(
proportions_table,
digits = 2,
decimal.mark = ",",
col.names = c(
"Règim",
"Nombre total de països",
"Nombre de països amb alta desigualtat",
"% d'alta desigualtat"
),
caption = "Països amb alta desigualtat segons el tipus de règim (2018)"
) %>%
column_spec(1, width = "1.25in") %>%
column_spec(2, width = "1.25in") %>%
column_spec(3, width = "1.25in") %>%
column_spec(4, width = "1.25in") %>%
kable_styling(
"striped",
latex_options = c("striped", "scale_down", "repeat_header"),
position = "center",
full_width = FALSE
)
| Règim | Nombre total de països | Nombre de països amb alta desigualtat | % d’alta desigualtat |
|---|---|---|---|
| Closed Autocracy | 4 | 0 | 0% |
| Electoral Autocracy | 13 | 5 | 38% |
| Electoral Democracy | 27 | 11 | 41% |
| Liberal Democracy | 20 | 2 | 10% |
Escriviu les hipòtesi nul·la i alternativa.
Resposta:
Quin tipus de test estadístic és apropiat per donar resposta a la pregunta? Justifiqueu la vostra elecció.
Resposta:
Test bilateral de dues mostres sobre la proporció de països amb alta desigualtat segons el tipus de règim.
És un test de comparació de proporcions entre dos grups independents (països amb règim democràtic i països amb règim autocràtic). És bilateral perquè l’hipòtesi alternativa estableix que les proporcions són diferents.
Useu una llibreria del llenguatge R per aplicar el test seleccionat.
Resposta:
x1 <- ds_regime %>%
filter(
ds_regime$Regime == "Electoral Autocracy" |
ds_regime$Regime == "Closed Autocracy"
)
x2 <- ds_regime %>%
filter(
ds_regime$Regime == "Electoral Democracy" |
ds_regime$Regime == "Liberal Democracy"
)
n1 <- nrow(x1)
n2 <- nrow(x2)
p1 <- sum(x1$HighInequality) / n1
p2 <- sum(x2$HighInequality) / n2
success <- c(p1 * n1, p2 * n2)
nn <- c(n1, n2)
prop.test(
success, nn,
alternative = "two.sided", conf.level = 0.95, correct = FALSE
)
##
## 2-sample test for equality of proportions without continuity correction
##
## data: success out of nn
## X-squared = 0.018961, df = 1, p-value = 0.8905
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## -0.2340091 0.2690529
## sample estimates:
## prop 1 prop 2
## 0.2941176 0.2765957
Desenvolupeu un codi propi que implementi el test que heu escollit i verifiqueu que obteniu el mateix resultat.
Resposta:
TEST_PROP <- function(x1, x2, alternative = "two.sided") {
# Calcula les proporcions
n_x1 <- length(x1)
n_x2 <- length(x2)
p1 <- sum(x1) / n_x1
p2 <- sum(x2) / n_x2
p_hat <- (n_x1 * p1 + n_x2 * p2) / (n_x1 + n_x2)
# Calcula l'estadístic de contrast z (fórmula 17)
zobs <- (p1 - p2) / (sqrt(p_hat * (1 - p_hat) * (1 / n_x1 + 1 / n_x2)))
if (alternative == "greater") {
pvalue <- 1 - pnorm(zobs)
} else if (alternative == "less") {
pvalue <- pnorm(zobs)
} else {
pvalue <- 2 * min(pnorm(zobs), 1 - pnorm(zobs))
}
return(list(
p1 = p1,
p2 = p2,
z_obs = zobs,
p_value = pvalue
))
}
Usant la funció desenvolupada, mostreu els resultats, incloent els valors calculats a partir de la mostra, el valor observat, l’estadístic de contrast i el valor p.
Resposta:
# Aplica la funció TEST_PROP a les dues mostres
resultats <- TEST_PROP(
x1$HighInequality,
x2$HighInequality,
alternative = "two.sided"
)
resultats
## $p1
## [1] 0.2941176
##
## $p2
## [1] 0.2765957
##
## $z_obs
## [1] 0.1376986
##
## $p_value
## [1] 0.8904786
A partir dels resultats anteriors, doneu resposta a la pregunta de recerca plantejada.
Resposta:
Si comparem els resultats obtinguts amb la funció pròpia i la funció de R, observem que són coherents. No hi ha evidència suficient, \(p > 0,05\), per rebutjar l’hipòtesi nul·la H0, per tant, la proporció de països amb alta desigualtat no és significativament diferent entre els països amb règim democràtic i els d’autocràtic.
En aquesta secció ens centrem en l’ODS número 13 (accions per combatre el canvi climàtic i el seu impacte). Per a això, ens fixarem en l’índex “Net forest depletion”, que es podria traduir com “índex d’esgotament net de boscos”. Aquest índex mesura el valor econòmic de la pèrdua de boscos d’un país quan l’extracció de fusta supera el creixement natural, expressat com a percentatge del ingrés nacional brut, indicant si l’ús forestal és sostenible o no.
Concretament, volem donar resposta a la pregunta:
PR4: La proporció de països que compleixen amb l’objectiu de no esgotament net dels boscos és superior al 50%?
Per “no esgotament de boscos” ens referim a l’índex d’esgotament de boscos (NY.ADJ.DFOR.GN.ZS) igual o inferior a 0.
Per donar resposta a aquesta pregunta, prendrem les dades de l’any 2018. Seguiu els passos que s’indiquen a continuació.
Mostreu un gràfic de la vostra elecció on es mostri l’índex de pèrdua de boscos dels països.
Per fer el codi més descriptiu, podeu canviar el nom de la variable NY.ADJ.DFOR.GN.ZS per FOR.
# Canvia el nom de la variable d’índex d’esgotament net de boscos
ds <- ds %>%
rename(FOR = NY.ADJ.DFOR.GN.ZS)
Resposta:
# Conjunt de dades temporal amb només les dades de les variables d’interès sense
# valors NA
ds_forest <- ds %>%
filter(!is.na(FOR), Year == 2018) %>%
select(Country, FOR)
# Mostra un histograma de l’índex d’esgotament net de boscos
ggplot(ds_forest, aes(x = FOR)) +
geom_histogram(binwidth = 1, fill = "blue", color = "black", alpha = 0.7) +
labs(
title = "Índex d'esgotament net de boscos (2018)",
x = "Índex d'esgotament net de boscos (FOR)",
y = "Nombre de països"
) +
theme_minimal()
Escriviu les hipòtesis estadístiques a partir de la pregunta de recerca.
Resposta:
Quin tipus de test estadístic és apropiat per donar resposta a la pregunta? Justifiqueu la vostra elecció.
Resposta:
Test unilateral d’una mostra sobre la proporció de països que compleixen amb l’objectiu de no esgotament net dels boscos, es a dir aquells països amb un índex d’esgotament net de boscos igual o inferior a 0.
En aquest test només hi ha una mostra (els països del món) i es vol comparar la proporció observada amb un valor fix (50%) i no amb una altra proporció d’una altra població. És unilateral perquè l’hipòtesi alternativa estableix que la proporció és superior al 50%.
Feu servir una llibreria de R per aplicar el test seleccionat.
Nota: igual que anteriorment, creeu un conjunt de dades que només contingui les dades necessàries per a aquesta anàlisi i elimineu els registres amb valors perduts.
Resposta:
# Conjunt de dades temporal amb només les dades de les variables d’interès sense
# valors NA
ds_forest <- ds %>%
filter(!is.na(FOR), Year == 2018) %>%
select(Country, FOR) %>%
mutate(Complies = ifelse(FOR <= 0, 1, 0))
n <- nrow(ds_forest)
p_hat <- sum(ds_forest$Complies) / n
# Aplica el test de proporcions d'una mostra
prop.test(
sum(ds_forest$Complies), n,
p = 0.5,
alternative = "greater",
conf.level = 0.95,
correct = FALSE
)
##
## 1-sample proportions test without continuity correction
##
## data: sum(ds_forest$Complies) out of n, null probability 0.5
## X-squared = 4.8395, df = 1, p-value = 0.01391
## alternative hypothesis: true p is greater than 0.5
## 95 percent confidence interval:
## 0.5218656 1.0000000
## sample estimates:
## p
## 0.5864198
Desenvolupeu un codi propi que implementi la prova que heu fet servir a l’apartat anterior i verifiqueu que obteniu el mateix resultat.
Resposta:
TEST_PROP <- function(x, p0, alternative = "greater") {
# Calcula la proporció
n_x <- length(x)
p_hat <- sum(x) / n_x
# Calcula l'estadístic de contrast z (fórmula 8)
zobs <- (p_hat - p0) / (sqrt(p0 * (1 - p0) / n_x))
if (alternative == "greater") {
pvalue <- 1 - pnorm(zobs)
} else if (alternative == "less") {
pvalue <- pnorm(zobs)
} else {
pvalue <- 2 * min(pnorm(zobs), 1 - pnorm(zobs))
}
return(list(
p_hat = p_hat,
z_obs = zobs,
p_value = pvalue
))
}
Mostreu els resultats del test, incloent el valor obtingut de la mostra, el valor observat i el valor p.
Resposta:
# Aplica la funció TEST_PROP a la mostra
resultats <- TEST_PROP(
ds_forest$Complies,
p0 = 0.5,
alternative = "greater"
)
resultats
## $p_hat
## [1] 0.5864198
##
## $z_obs
## [1] 2.199888
##
## $p_value
## [1] 0.01390743
A partir dels resultats anteriors, doneu resposta a la pregunta de recerca plantejada.
Resposta:
Si comparem els resultats obtinguts amb la funció pròpia i la funció de R, observem que són coherents. Hi ha evidència suficient, \(p < 0,05\), per rebutjar l’hipòtesi nul·la H0 a favor de l’alternativa, per tant, la proporció de països que compleixen amb l’objectiu de no esgotament net dels boscos és superior al 50%, com s’esperava amb l’observació de l’histograma, on es pot veure que la gran majoria dels països tenen un índex d’esgotament net de boscos igual o inferior a 0, superior a la suma dels països amb índexs superiors a 0.
Resumiu en una taula els resultats de l’anàlisi. Incloeu en aquesta taula la pregunta de recerca, el tipus de test, el valor p obtingut i una breu interpretació del resultat.
Resposta:
| Pregunta de recerca | Tipus de test | Valor p | Interpretació |
|---|---|---|---|
| PR1: L’esperança de vida és més alta als països amb un nivell d’ingressos elevat que a la resta? | Test t de mostres independents (variàncies diferents) | p < 0.05 | L’esperança de vida és més alta als països amb ingressos alts. |
| PR2: La desigualtat es redueix en un període de 10 anys? | Test t de mostres aparellades | p < 0.05 (món); p > 0.05 (regió) | Hi ha una disminució significativa de la desigualtat entre els anys 2008 i 2018 en la majoria dels països del món, però no a la regió d’Europa i Amèrica del Nord. |
| PR3: La proporció de països amb major desigualtat és diferent entre els països amb règim democràtic i els d’autocràtic? | Test de dues mostres sobre proporcions | p > 0.05 | No hi ha diferència significativa en la proporció de països amb alta desigualtat segons el tipus de règim. |
| PR4: La proporció de països que compleixen amb l’objectiu de no esgotament net dels boscos és superior al 50%? | Test d’una mostra la proporció | p < 0.05 | La proporció de països que compleixen amb l’objectiu de no esgotament net dels boscos és superior al 50%. |