library(readr)
opinion_publica_Colmbia <- read_csv("opinion_publica_Colmbia.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.
Con esta función cargamos paquetes
library(tidyverse) #incluye paquetes de importncia, visualicacion entre otros
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.2 ✔ purrr 1.0.2
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.2 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ── 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
library(dplyr)# Manipulación de Datos
library(ggplot2)# Visualización de datos
library(readxl)# Importación de datos
library(tibble)# Tablas
library(readr) #Para cargar la base de datos
Cargando los datos a analizar
En este apartado estaremos cargando los datos sobre opinion_publica_Colmbia
names(opinion_publica_Colmbia) # 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) # visualizar 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) # 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) # visualizar las dimensiones de los datos/variables
## [1] 1500 37
##realizando algunos analisis de los datos
head(opinion_publica_Colmbia$estrato)
## [1] 2 3 1 3 2 2
Con el siguiente codigo estamos realizando un resumen de las variables
summary(opinion_publica_Colmbia)
## 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
##
##
##
Con el siguiente codigo estamos convirtiendo las variables cualitativas para que Restudio las identifique
#Convertir variables en factores
opinion_publica_Colmbia$sexo <- as.factor(opinion_publica_Colmbia$sexo) #OJO: con el signo "$" llamo a una variable específica de mi dataset
opinion_publica_Colmbia$educacion <- as.factor(opinion_publica_Colmbia$educacion)
conf_gobierno<- as.factor(opinion_publica_Colmbia$conf_gobierno)
Grafico de cajas y bigotes:
boxplot(opinion_publica_Colmbia$edad, horizontal=TRUE, col='red', main="Boxplot de edad")
Como se observa en el grafico de cajas y bigotes los datos se encuentran agrupados hacia la izquierda, contrario sensu, los datos se encuentran dispersos hacia la derecha, siendo la mediana al rededor de 38 años de edad.
ggplot(opinion_publica_Colmbia, aes(x = sexo, fill = sexo)) +
geom_bar() +
labs(title = "Distribución de Género", x = "Género", y = "Frecuencia") +
theme_minimal()