Taller estadistica inferencial
library(dplyr)# Manipulación de Datos
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)# Visualización de datos
library(readxl)# Importación de datos
library(tibble)# Tablas
library(readr) #Para cargar la base de datos
library(readr)
opinion_publica_Colmbia_1_ <- read_csv("opinion_publica_Colmbia (1).csv")
## Rows: 1500 Columns: 37
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (14): region, departamento, municipio, estrato_muestral, sexo, educacio...
## dbl (22): id, cluster_psu, peso_muestral, edad, estrato, ingreso_mensual, c...
## date (1): fecha_entrevista
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
se estan cargando los datos de opinion publica que se van a analizar
library(tidyverse)# Incluye paquetes de importación, visualización entre otros
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
nombres de variables
names(opinion_publica_Colmbia_1_)# nombres de variables
## [1] "id" "fecha_entrevista" "region"
## [4] "departamento" "municipio" "estrato_muestral"
## [7] "cluster_psu" "peso_muestral" "sexo"
## [10] "edad" "estrato" "educacion"
## [13] "ocupacion" "ingreso_mensual" "ideologia"
## [16] "interes_politica" "intencion_voto" "conf_gobierno"
## [19] "conf_congreso" "conf_corte_suprema" "conf_fuerza_publica"
## [22] "conf_medios" "satisfaccion_vida" "percepcion_economia"
## [25] "percepcion_seguridad" "percepcion_corrupcion" "uso_redes_horas"
## [28] "plataforma_principal" "frecuencia_tv_noticias" "temas_prioritarios"
## [31] "satisfaccion_gobierno" "aprobacion_alcalde" "aprobacion_gobernador"
## [34] "satisfaccion_servicios" "percepcion_salud" "percepcion_educacion"
## [37] "comentario_breve"
head(opinion_publica_Colmbia_1_)# vizualizar los primeros 6 datos
## # A tibble: 6 × 37
## id fecha_entrevista region departamento municipio estrato_muestral
## <dbl> <date> <chr> <chr> <chr> <chr>
## 1 1 2025-07-15 Andina Norte de Santander Municipi… Urbano
## 2 2 2025-08-14 Caribe Bolívar Municipi… Urbano
## 3 3 2025-08-22 Caribe Atlántico Municipi… Urbano
## 4 4 2025-07-21 Pacífico Cauca Municipi… Urbano
## 5 5 2025-07-14 Insular San Andrés y Provi… Municipi… Urbano
## 6 6 2025-07-09 Andina Boyacá Municipi… Urbano
## # ℹ 31 more variables: cluster_psu <dbl>, peso_muestral <dbl>, sexo <chr>,
## # edad <dbl>, estrato <dbl>, educacion <chr>, ocupacion <chr>,
## # ingreso_mensual <dbl>, ideologia <chr>, interes_politica <chr>,
## # intencion_voto <chr>, conf_gobierno <dbl>, conf_congreso <dbl>,
## # conf_corte_suprema <dbl>, conf_fuerza_publica <dbl>, conf_medios <dbl>,
## # satisfaccion_vida <dbl>, percepcion_economia <dbl>,
## # percepcion_seguridad <dbl>, percepcion_corrupcion <dbl>, …
str(opinion_publica_Colmbia_1_)# visualizar la estructura de los datos/variables
## spc_tbl_ [1,500 × 37] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ id : num [1:1500] 1 2 3 4 5 6 7 8 9 10 ...
## $ fecha_entrevista : Date[1:1500], format: "2025-07-15" "2025-08-14" ...
## $ region : chr [1:1500] "Andina" "Caribe" "Caribe" "Pacífico" ...
## $ departamento : chr [1:1500] "Norte de Santander" "Bolívar" "Atlántico" "Cauca" ...
## $ municipio : chr [1:1500] "Municipio_21" "Municipio_127" "Municipio_225" "Municipio_225" ...
## $ estrato_muestral : chr [1:1500] "Urbano" "Urbano" "Urbano" "Urbano" ...
## $ cluster_psu : num [1:1500] 160 6 193 121 59 178 196 8 40 174 ...
## $ peso_muestral : num [1:1500] 0.554 1.405 1.382 0.785 1.354 ...
## $ sexo : chr [1:1500] "Femenino" "Masculino" "Masculino" "Femenino" ...
## $ edad : num [1:1500] 40 36 54 48 37 18 29 48 42 18 ...
## $ estrato : num [1:1500] 2 3 1 3 2 2 2 3 5 4 ...
## $ educacion : chr [1:1500] "Secundaria" "Secundaria" "Universitaria" "Técnica/tecnológica" ...
## $ ocupacion : chr [1:1500] "Cuenta propia" "Desempleado/a" "Desempleado/a" "Empleado/a" ...
## $ ingreso_mensual : num [1:1500] 1348000 1042000 2316000 1498000 9311000 ...
## $ ideologia : chr [1:1500] "Izquierda" "Centro" "Izquierda" "Izquierda" ...
## $ interes_politica : chr [1:1500] "Bajo" "Alto" "Medio" "Medio" ...
## $ intencion_voto : chr [1:1500] "Indeciso" "Gobierno" "Indeciso" "Voto en blanco" ...
## $ conf_gobierno : num [1:1500] 3 5 2 4 2 4 5 3 2 4 ...
## $ conf_congreso : num [1:1500] 1 4 2 4 3 3 2 4 2 4 ...
## $ conf_corte_suprema : num [1:1500] 4 2 2 3 3 4 1 4 4 2 ...
## $ conf_fuerza_publica : num [1:1500] 2 5 1 5 4 3 3 5 5 3 ...
## $ conf_medios : num [1:1500] 3 4 3 4 2 2 3 2 2 1 ...
## $ satisfaccion_vida : num [1:1500] 3 4 2 2 3 4 2 3 4 3 ...
## $ percepcion_economia : num [1:1500] 2 2 2 5 2 3 3 3 3 4 ...
## $ percepcion_seguridad : num [1:1500] 5 3 4 3 3 2 3 4 4 1 ...
## $ percepcion_corrupcion : num [1:1500] 3 4 5 4 4 4 4 2 5 4 ...
## $ uso_redes_horas : num [1:1500] 0.6 1.9 2.7 0 3.2 1.4 1.6 1.6 4.4 3.5 ...
## $ plataforma_principal : chr [1:1500] "Instagram" "TikTok" "WhatsApp" "TikTok" ...
## $ frecuencia_tv_noticias: chr [1:1500] "Nunca" "Ocasional" "Diaria" "Semanal" ...
## $ temas_prioritarios : chr [1:1500] "Empleo" "Economía|Seguridad" "Salud" "Transporte" ...
## $ satisfaccion_gobierno : num [1:1500] 2 2 5 4 2 3 2 2 2 4 ...
## $ aprobacion_alcalde : num [1:1500] 3 2 3 4 3 3 3 3 4 1 ...
## $ aprobacion_gobernador : num [1:1500] 3 3 3 5 3 4 1 3 2 3 ...
## $ satisfaccion_servicios: num [1:1500] 2 2 3 3 2 2 2 3 3 1 ...
## $ percepcion_salud : num [1:1500] 2 2 2 4 2 2 5 3 2 1 ...
## $ percepcion_educacion : num [1:1500] 1 4 2 5 3 4 2 5 3 5 ...
## $ comentario_breve : chr [1:1500] "Hay avances, pero falta mucho por hacer." "Más oportunidades de empleo para jóvenes." "Más oportunidades de empleo para jóvenes." "La educación debe ser prioridad." ...
## - attr(*, "spec")=
## .. cols(
## .. id = col_double(),
## .. fecha_entrevista = col_date(format = ""),
## .. region = col_character(),
## .. departamento = col_character(),
## .. municipio = col_character(),
## .. estrato_muestral = col_character(),
## .. cluster_psu = col_double(),
## .. peso_muestral = col_double(),
## .. sexo = col_character(),
## .. edad = col_double(),
## .. estrato = col_double(),
## .. educacion = col_character(),
## .. ocupacion = col_character(),
## .. ingreso_mensual = col_double(),
## .. ideologia = col_character(),
## .. interes_politica = col_character(),
## .. intencion_voto = col_character(),
## .. conf_gobierno = col_double(),
## .. conf_congreso = col_double(),
## .. conf_corte_suprema = col_double(),
## .. conf_fuerza_publica = col_double(),
## .. conf_medios = col_double(),
## .. satisfaccion_vida = col_double(),
## .. percepcion_economia = col_double(),
## .. percepcion_seguridad = col_double(),
## .. percepcion_corrupcion = col_double(),
## .. uso_redes_horas = col_double(),
## .. plataforma_principal = col_character(),
## .. frecuencia_tv_noticias = col_character(),
## .. temas_prioritarios = col_character(),
## .. satisfaccion_gobierno = col_double(),
## .. aprobacion_alcalde = col_double(),
## .. aprobacion_gobernador = col_double(),
## .. satisfaccion_servicios = col_double(),
## .. percepcion_salud = col_double(),
## .. percepcion_educacion = col_double(),
## .. comentario_breve = col_character()
## .. )
## - attr(*, "problems")=<externalptr>
dim(opinion_publica_Colmbia_1_)# visualizar la dimensiones de los datos/variables
## [1] 1500 37
Revision de datos atipicos
summary(opinion_publica_Colmbia_1_)
## id fecha_entrevista region departamento
## Min. : 1.0 Min. :2025-06-26 Length:1500 Length:1500
## 1st Qu.: 375.8 1st Qu.:2025-07-11 Class :character Class :character
## Median : 750.5 Median :2025-07-26 Mode :character Mode :character
## Mean : 750.5 Mean :2025-07-25
## 3rd Qu.:1125.2 3rd Qu.:2025-08-10
## Max. :1500.0 Max. :2025-08-24
## municipio estrato_muestral cluster_psu peso_muestral
## Length:1500 Length:1500 Min. : 1.00 Min. :0.5020
## Class :character Class :character 1st Qu.: 47.00 1st Qu.:0.8735
## Mode :character Mode :character Median : 96.00 Median :1.2825
## Mean : 98.37 Mean :1.2675
## 3rd Qu.:148.00 3rd Qu.:1.6605
## Max. :200.00 Max. :1.9960
## sexo edad estrato educacion
## Length:1500 Min. :18.00 Min. :1.000 Length:1500
## Class :character 1st Qu.:29.00 1st Qu.:2.000 Class :character
## Mode :character Median :38.00 Median :3.000 Mode :character
## Mean :38.38 Mean :2.603
## 3rd Qu.:47.00 3rd Qu.:3.000
## Max. :85.00 Max. :6.000
## ocupacion ingreso_mensual ideologia interes_politica
## Length:1500 Min. : 400000 Length:1500 Length:1500
## Class :character 1st Qu.: 1190000 Class :character Class :character
## Mode :character Median : 1821000 Mode :character Mode :character
## Mean : 2122479
## 3rd Qu.: 2647250
## Max. :11233000
## intencion_voto conf_gobierno conf_congreso conf_corte_suprema
## Length:1500 Min. :1.000 Min. :1.000 Min. :1.000
## Class :character 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000
## Mode :character Median :3.000 Median :2.000 Median :3.000
## Mean :2.814 Mean :2.397 Mean :3.063
## 3rd Qu.:3.000 3rd Qu.:3.000 3rd Qu.:4.000
## Max. :5.000 Max. :5.000 Max. :5.000
## conf_fuerza_publica conf_medios satisfaccion_vida percepcion_economia
## Min. :1.000 Min. :1.00 Min. :1.000 Min. :1.000
## 1st Qu.:3.000 1st Qu.:2.00 1st Qu.:3.000 1st Qu.:2.000
## Median :3.000 Median :3.00 Median :3.000 Median :3.000
## Mean :3.377 Mean :2.91 Mean :3.438 Mean :2.705
## 3rd Qu.:4.000 3rd Qu.:4.00 3rd Qu.:4.000 3rd Qu.:3.000
## Max. :5.000 Max. :5.00 Max. :5.000 Max. :5.000
## percepcion_seguridad percepcion_corrupcion uso_redes_horas
## Min. :1.000 Min. :1.000 Min. :0.000
## 1st Qu.:2.000 1st Qu.:3.000 1st Qu.:1.600
## Median :3.000 Median :4.000 Median :2.500
## Mean :2.654 Mean :3.929 Mean :2.573
## 3rd Qu.:3.000 3rd Qu.:5.000 3rd Qu.:3.500
## Max. :5.000 Max. :5.000 Max. :7.600
## plataforma_principal frecuencia_tv_noticias temas_prioritarios
## Length:1500 Length:1500 Length:1500
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
## satisfaccion_gobierno aprobacion_alcalde aprobacion_gobernador
## Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000
## Median :3.000 Median :3.000 Median :3.000
## Mean :2.689 Mean :2.975 Mean :3.121
## 3rd Qu.:3.000 3rd Qu.:4.000 3rd Qu.:4.000
## Max. :5.000 Max. :5.000 Max. :5.000
## satisfaccion_servicios percepcion_salud percepcion_educacion
## Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000
## Median :3.000 Median :3.000 Median :3.000
## Mean :3.019 Mean :2.769 Mean :3.019
## 3rd Qu.:4.000 3rd Qu.:3.000 3rd Qu.:4.000
## Max. :5.000 Max. :5.000 Max. :5.000
## comentario_breve
## Length:1500
## Class :character
## Mode :character
##
##
##
head(opinion_publica_Colmbia_1_$ingreso_mensual)
## [1] 1348000 1042000 2316000 1498000 9311000 1123000
se convierten las variables cualitativas para que el sistema las identifique
#Convertir variables en factores
opinion_publica_Colmbia_1_$estrato <- as.factor(opinion_publica_Colmbia_1_$estrato)
opinion_publica_Colmbia_1_$satisfaccion_vida <- as.factor(opinion_publica_Colmbia_1_$satisfaccion_vida)
opinion_publica_Colmbia_1_$conf_medios <- as.factor(opinion_publica_Colmbia_1_$conf_medios)
intencion_voto <- as.factor(opinion_publica_Colmbia_1_$intencion_voto)
boxplot(opinion_publica_Colmbia_1_$edad, horizontal=TRUE, col='steelblue', main="Boxplot de edad")
ggplot(opinion_publica_Colmbia_1_, aes(x = sexo, fill = sexo)) +
geom_bar() +
labs(title = "Distribución de Género", x = "Género", y = "Frecuencia") +
theme_minimal()
ggplot(opinion_publica_Colmbia_1_, aes(x = intencion_voto, fill = sexo)) +
geom_bar(position = "dodge") +
labs(title = "Frecuencia de Voto por Género", x = "Frecuencia de Voto", y = "Cantidad de Personas") +
theme_minimal()
ggplot(opinion_publica_Colmbia_1_, aes(x = sexo, y = ingreso_mensual, fill = sexo)) +
geom_boxplot() +
labs(title = "Distribución del Ingreso Mensual por Género",
x = "Género",
y = "Ingreso Mensual") +
theme_minimal()
tabla_percepcion_corrupcion <- table(opinion_publica_Colmbia_1_$percepcion_corrupcion)
print(tabla_percepcion_corrupcion)
##
## 1 2 3 4 5
## 10 85 375 561 469
num_intervals <- nclass.Sturges(opinion_publica_Colmbia_1_$ingreso_mensual)
opinion_publica_Colmbia_1_$ingreso_grupo <- cut(opinion_publica_Colmbia_1_$ingreso_mensual, breaks = num_intervals, include.lowest = TRUE)
tabla_ingreso <- table(opinion_publica_Colmbia_1_$ingreso_grupo)
tabla_ingreso_df <- as.data.frame(tabla_ingreso)
colnames(tabla_ingreso_df) <- c("Rango de Ingreso", "Frecuencia")
# Calcular la frecuencia relativa
frecuencia_relativa <- prop.table(tabla_ingreso) * 100
tabla_ingreso_df$frecuencia_relativa <- round(frecuencia_relativa, 2)
tabla_ingreso_df
## Rango de Ingreso Frecuencia frecuencia_relativa
## 1 [3.89e+05,1.3e+06] 449 29.93
## 2 (1.3e+06,2.21e+06] 499 33.27
## 3 (2.21e+06,3.11e+06] 283 18.87
## 4 (3.11e+06,4.01e+06] 134 8.93
## 5 (4.01e+06,4.91e+06] 74 4.93
## 6 (4.91e+06,5.82e+06] 35 2.33
## 7 (5.82e+06,6.72e+06] 11 0.73
## 8 (6.72e+06,7.62e+06] 5 0.33
## 9 (7.62e+06,8.52e+06] 5 0.33
## 10 (8.52e+06,9.43e+06] 1 0.07
## 11 (9.43e+06,1.03e+07] 3 0.20
## 12 (1.03e+07,1.12e+07] 1 0.07
Edad media de los encuestados:
El boxplot indica que la mayoría está entre 30 y 45 años, con pocos casos por debajo de 20 o por encima de 60.
Esto sugiere una muestra predominantemente adulta joven y activa laboralmente.
Distribución y comportamiento por género:
Más mujeres que hombres respondieron la encuesta.
La frecuencia de voto es similar entre hombres y mujeres, aunque en los extremos (no vota o vota siempre) hay variaciones leves.
En cuanto a ingresos mensuales, no hay diferencias marcadas entre géneros, pero la mayoría gana menos de $3 millones.
Percepción de corrupción:
En la tabla de frecuencias, la calificación promedio de corrupción está entre media y alta, lo que refleja una desconfianza importante hacia las instituciones.
Segmentar campañas o mensajes para adultos jóvenes (30-45 años): Este grupo domina la muestra y es clave en procesos electorales o sociales. Las propuestas deben atender temas como empleo, ingresos y estabilidad económica.
Incorporar un enfoque de género en políticas y campañas: Aunque la participación de hombres y mujeres es similar, conviene revisar si las necesidades específicas de cada grupo están siendo atendidas, sobre todo en empleo e ingresos.
Enfocar estrategias en la lucha contra la corrupción: La percepción negativa es generalizada, por lo que cualquier proyecto político, institucional o social debe incluir medidas visibles y creíbles de transparencia para recuperar confianza.