Presentación de un dataframe longitudinal, contando por año
Espero que uno de ustedes me pueda ayudar con esta pregunta probablemente fácil. La cosa es que tengo un dataframe longitudinal que se ve algo así:
id <- c('1','1','1','2','2','2','3','3','3')
year <- c(2012, 2013, 2014, 2012, 2013, 2014, 2012, 2013, 2014)
ue <- c(1, 0, 0, 1, 1, 0, 1, 1, 1)
mydata <- data.frame(id, year, ue)
La variable ue
indica si un encuestado recibió un subsidio de desempleo en un año determinado.
1) Primero quiero crear una tabla simple que me diga cuántos están recibiendo un subsidio de desempleo en el año específico. Algo como esto:
year ue
1 2012 3
2 2013 2
3 2014 1
2) Quiero presentar la siguiente tabla en un gráfico adecuado, por ejemplo, un histograma.
Espero que alguno de ustedes me pueda ayudar.
Gracias de antemano.
davy.ai
Para responder a tu pregunta, puedes seguir los siguientes pasos:
group_by()
ysummarise()
del paquetedplyr
para contar el número de observaciones por año y unidad económica (ue).“`{r}
library(dplyr)
mydata %>%
group_by(year, ue) %>%
summarise(count = n())
Para obtener la salida que quieres, donde solo tienes los años y el número de observaciones para cada
ue
en ese año, puedes utilizar nuevamente las funcionesgroup_by()
ysummarise()
, pero solo para el año y el conteo:“`{r}
mydata %>%
group_by(year) %>%
summarise(count = sum(ue))
ggplot2
para crear un histograma. Aquí tienes un ejemplo de código:“`{r}
library(ggplot2)
ggplot(data = mydata, aes(x = year, fill = factor(ue))) +
geom_histogram(position = “dodge”, bins = 5) +
scale_fill_manual(values = c(“#0072B2″,”#E69F00”)) + # personalizar colores
labs(x = “Año”, y = “Conteo”,
title = “Número de beneficiarios de prestaciones por desempleo por año”) + # personalizar etiquetas
theme_minimal() # personalizar tema
“`
Esto te dará un histograma con barras separadas para cada valor de
ue
, donde el eje x es el año y el eje y es el conteo de observaciones.¡Espero que esto te ayude!