knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE)
Neste exercício, vamos explorar a relação entre os ganhos de mulheres que trabalham e a renda de suas famílias, utilizando o dataset “Mroz”. Este dataset é um conjunto de dados sobre participação e rendimentos da força de trabalho feminina desde 1975.
Nosso objetivo é entender, passo a passo, como podemos usar ferramentas de visualização e modelagem em R para:
Começaremos então carregando os pacotes e preparando os dados.
Primeiro, carregamos todos os pacotes que serão necessários ao longo
do documento. O pacote causaldata
contém o conjunto de
dados usado na análise, desenvolvido por Nick Huntington-Klein e
divulgado em seu livro: The Effect: An Introduction to Research Design
and Causality.
# Pacotes Necessários
library(tidyverse)
library(ggplot2)
library(modelsummary)
library(causaldata)
library(gridExtra)
# Carregando o dataset Mroz e preparando-o para análise
df <- causaldata::Mroz %>%
# Filtrando apenas para mulheres que estão na força de trabalho
dplyr::filter(lfp == TRUE) %>%
# A variável 'lwg' é o logaritmo dos ganhos. Usamos exp() para obter o valor original.
mutate(earn = exp(lwg))
# Visualizando as primeiras linhas do dataframe resultante
head(df)
## lfp k5 k618 age wc hc lwg inc earn
## 1 TRUE 1 0 32 FALSE FALSE 1.2101647 10.910 3.354037
## 2 TRUE 0 2 30 FALSE FALSE 0.3285041 19.500 1.388889
## 3 TRUE 1 3 35 FALSE FALSE 1.5141279 12.040 4.545455
## 4 TRUE 0 3 34 FALSE FALSE 0.0921151 6.800 1.096491
## 5 TRUE 1 2 31 TRUE FALSE 1.5242802 20.100 4.591837
## 6 TRUE 0 0 54 FALSE FALSE 1.5564855 9.859 4.742126
Interpretação: Nosso dataframe df
filtrado, agora contém dados apenas das mulheres que participam da força
de trabalho.
Dicionário
lfp
: Participação da força de trabalho
k5
: Número de crianças de 5 anos ou menos
k618
: Número de crianças de 6 a 17 anos
age
: Idade em anos
wc
: A mulher/esposa frequentou a faculdade
hc
: O homem/marido frequentou a faculdade
lwg
: Logaritmo da taxa salarial esperada para as
mulheres na força de trabalho.
inc
: Renda familiar excluindo a renda da
mulher/esposa
earn
: Valor original da taxa salarial esperada para
as mulheres na força de trabalho.
Um bom primeiro passo é visualizar a relação entre nossa variável de
interesse, earn
(ganhos da mulher), e a variável
explicativa principal, inc
(renda familiar).
ggplot(df, aes(x = inc, y = earn)) +
geom_point(alpha = 0.5) +
scale_x_log10(labels = scales::dollar) +
scale_y_log10(labels = scales::dollar) +
labs(title = "Ganhos da Mulher vs. Renda Familiar",
x = "Renda Familiar (excluindo ganhos da mulher)",
y = "Ganhos da Mulher")
Interpretação: O gráfico de dispersão com eixos em escala logarítmica mostra uma nuvem de pontos com uma leve tendência positiva. Isso sugere que, em geral, à medida que a renda da família aumenta, os ganhos da mulher também tendem a aumentar. No entanto, note que a relação não parece ser muito forte, pois há uma grande dispersão dos dados.
Podemos, então, simplificar a análise calculando a média dos ganhos
para diferentes grupos. Aqui, comparamos mulheres que frequentaram a
faculdade (wc = TRUE
) com as que não frequentaram
(wc = FALSE
).
df %>%
group_by(wc) %>%
summarize(ganho_medio = mean(earn))
## # A tibble: 2 × 2
## wc ganho_medio
## <lgl> <dbl>
## 1 FALSE 3.58
## 2 TRUE 5.35
Como podemos notar, a nossa saída é uma pequena tabela com duas linhas, mostrando o ganho médio (earn) para cada grupo. Isso permite comparar diretamente os ganhos médios entre os dois grupos.
Interpretação: O resultado mostram que mulheres que frequentaram a faculdade têm um ganho médio substancialmente maior do que aquelas que não frequentaram. Isso já aponta que a educação pode ser um fator explicativo importante para os ganhos.
Esta é uma forma simples de calcular a Função de Expectativa Condicional (CEF) quando a variável condicional (wc) é categórica.
Para entender melhor a tendência vista no gráfico de dispersão, podemos também agrupar a renda familiar em 10 faixas e calcular o ganho médio para cada uma.
df %>%
mutate(inc_cut = cut(inc, 10)) %>%
group_by(inc_cut) %>%
summarize(ganho_medio = mean(earn))
## # A tibble: 10 × 2
## inc_cut ganho_medio
## <fct> <dbl>
## 1 (-0.12,9.07] 3.09
## 2 (9.07,18.2] 3.83
## 3 (18.2,27.3] 4.95
## 4 (27.3,36.4] 4.56
## 5 (36.4,45.5] 4.24
## 6 (45.5,54.6] 6.14
## 7 (54.6,63.7] 3.83
## 8 (63.7,72.8] 5.23
## 9 (72.8,81.9] 7.02
## 10 (81.9,91.1] 3.67
Isso nos ajuda a ver como a expectativa condicional “\(E[ganhos∣rendafamilia\)]” se comporta à medida que a renda familiar aumenta. É uma aproximação não-paramétrica da Função de Expectativa Condicional (CEF). Com esse resultado, podemos observar se os ganhos médios da mulher aumentam, diminuem ou permanecem estáveis conforme a renda da família sobe.
Interpretação: A saída é uma tabela que mostra o
ganho médio das mulheres para diferentes níveis de renda familiar. Os
resultados mostram uma tendência geral de aumento no
ganho_medio
conforme passamos para faixas de renda
(inc_cut
) mais altas. Isso reforça a ideia de uma relação
positiva entre renda familiar e ganhos da mulher.
Agora, vamos sobrepor linhas de tendência ao nosso gráfico de dispersão para visualizar a forma da relação.
# Gráfico com a curva LOESS (flexível)
p1 <- ggplot(df, aes(x = inc, y = earn)) +
geom_point(alpha = 0.5) +
geom_smooth(se = FALSE, color = "blue") +
scale_x_log10() + scale_y_log10() +
labs(title = "Curva LOESS")
# Gráfico com a reta de regressão linear
p2 <- ggplot(df, aes(x = inc, y = earn)) +
geom_point(alpha = 0.5) +
geom_smooth(method = 'lm', se = FALSE, color = "red") +
scale_x_log10() + scale_y_log10() +
labs(title = "Curva de Regressão Linear")
# Exibindo os gráficos lado a lado com grid.arrange
grid.arrange(p1, p2, ncol = 2)
Interpretação: Note que a curva LOESS (azul) é flexível e se ajusta aos dados localmente. Ela mostra uma relação positiva que parece se achatar um pouco em níveis de renda mais altos. Já a reta de regressão linear (vermelha) força a relação a ser uma linha reta. Comparando as duas, vemos que a reta de regressão linear parece ser uma aproximação razoável, embora simplificada, da tendência geral observada na curva LOESS.
Finalmente, finalizamos nosso exercício quantificando a relação usando modelos de regressão linear.
lwg
) apenas com o log da renda familiar
(log(inc)
).wc
) e número de filhos pequenos
(k5
).# Modelo 1: Regressão Simples
model1 <- lm(lwg ~ log(inc), data = df)
# Modelo 2: Regressão Múltipla
model2 <- lm(lwg ~ log(inc) + wc + k5, data = df)
# Criando uma tabela comparativa dos resultados
msummary(list("Modelo 1" = model1, "Modelo 2" = model2),
stars = TRUE)
Modelo 1 | Modelo 2 | |
---|---|---|
+ p < 0.1, * p < 0.05, ** p < 0.01, *** p < 0.001 | ||
(Intercept) | 0.569** | 0.707*** |
(0.185) | (0.184) | |
log(inc) | 0.221*** | 0.135* |
(0.065) | (0.066) | |
wcTRUE | 0.335*** | |
(0.075) | ||
k5 | -0.067 | |
(0.087) | ||
Num.Obs. | 427 | 427 |
R2 | 0.027 | 0.070 |
R2 Adj. | 0.024 | 0.064 |
AIC | 928.7 | 913.1 |
BIC | 940.9 | 933.4 |
Log.Lik. | -461.340 | -451.536 |
RMSE | 0.71 | 0.70 |
A tabela de regressão nos permite tirar as seguintes conclusões:
Modelo 1: Regressão Simples (Sem controle)
Relação Principal: Podemos notar que existe uma relação positiva e estatisticamente significativa entre a renda da família (log(inc)) e os ganhos da mulher. Isto é, a cada 1% de aumento na renda familiar, os ganhos da mulher aumentam, em média, 0.221%.
Poder Explicativo: Além disso, o modelo é muito fraco. O R2 de 0.027 significa que ele explica apenas 2.7% da variação nos ganhos das mulheres. Isso quer dizer que a maior parte da variação nos salários se deve a outros fatores não incluídos no modelo.
Modelo 2: Regressão Múltipla (Com controles)
Relação Principal: A relação entre a renda da família (log(inc)) e os ganhos da mulher continua positiva e significativa, mas o efeito é menor (caiu de 0.221 para 0.135). Isso indica que parte da relação vista no Modelo 1 era, na verdade, explicada pela educação da mulher.
Efeito da Educação (wcTRUE): Ter cursado faculdade tem um impacto positivo, grande e altamente significativo nos ganhos. Mantendo os outros fatores constantes, uma mulher com educação universitária ganha, em média, cerca de 39.8% a mais (\(e^{0.335}-1\)).
Efeito dos Filhos (k5): O efeito da quantidade de filhos pequenos é negativo, como esperado (sugere uma redução nos ganhos), mas não é estatisticamente significativo. Com base nos resultados deste modelo, não podemos afirmar que ter filhos pequenos afeta os ganhos.
Poder Explicativo: Por fim, podemos concluir que este modelo é um pouco melhor, explicando 7% da variação nos ganhos (R2 = 0.070). Ainda é um valor baixo, mas é uma melhora considerável em relação ao Modelo 1.
Comparação de Modelos: Como vimos Modelo 2 é superior ao Modelo 1. Podemos confirmar isso rapidamente através de duas métricas. AIC, que é menor no Modelo 2 (913.1 vs. 928.7), e pelo R² Ajustado, que é maior (0.064 vs. 0.024). Portanto, O Modelo 2 faz um trabalho melhor ao explicar a variação nos ganhos.
Em resumo, nosso exercício mostra que, embora a renda familiar esteja positivamente associada aos ganhos de uma mulher, o fator mais determinante entre os analisados é a educação. A modelagem passo a passo nos permitiu refinar nossa compreensão e evitar uma conclusão simplista baseada apenas na correlação inicial.