R Markdown

Este es mi analisis exploratorio de datos sobre “Opinion Publica Colombia” para mi clase de Estadistica Inferencial. El conjunto de datos “Opinión Pública Colombia” contiene información proveniente de una encuesta nacional sobre percepciones políticas, sociales y económicas de la ciudadanía. Incluye 1500 observaciones y 37 variables, que abarcan aspectos demográficos, niveles de confianza en instituciones, uso de redes sociales, percepción de la economía y la seguridad, entre otros.

instalando paquete

library(tidyverse)# Incluye paquetes de importación, visualización entre otros
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.3.0
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.1.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 opinión pública

datos <- read.csv("C:/Users/greyr/Downloads/opinion_publica_Colmbia.csv")

ver los nombres de las variables

head(datos)# visualizar los primeros 6 datos 
##   id fecha_entrevista   region             departamento     municipio
## 1  1       2025-07-15   Andina       Norte de Santander  Municipio_21
## 2  2       2025-08-14   Caribe                  Bolívar Municipio_127
## 3  3       2025-08-22   Caribe                Atlántico Municipio_225
## 4  4       2025-07-21 Pacífico                    Cauca Municipio_225
## 5  5       2025-07-14  Insular San Andrés y Providencia Municipio_269
## 6  6       2025-07-09   Andina                   Boyacá Municipio_268
##   estrato_muestral cluster_psu peso_muestral      sexo edad estrato
## 1           Urbano         160         0.554  Femenino   40       2
## 2           Urbano           6         1.405 Masculino   36       3
## 3           Urbano         193         1.382 Masculino   54       1
## 4           Urbano         121         0.785  Femenino   48       3
## 5           Urbano          59         1.354  Femenino   37       2
## 6           Urbano         178         1.114 Masculino   18       2
##             educacion     ocupacion ingreso_mensual ideologia interes_politica
## 1          Secundaria Cuenta propia         1348000 Izquierda             Bajo
## 2          Secundaria Desempleado/a         1042000    Centro             Alto
## 3       Universitaria Desempleado/a         2316000 Izquierda            Medio
## 4 Técnica/tecnológica    Empleado/a         1498000 Izquierda            Medio
## 5          Secundaria    Empleado/a         9311000    Centro             Alto
## 6            Posgrado    Empleado/a         1123000    Centro             Alto
##   intencion_voto conf_gobierno conf_congreso conf_corte_suprema
## 1       Indeciso             3             1                  4
## 2       Gobierno             5             4                  2
## 3       Indeciso             2             2                  2
## 4 Voto en blanco             4             4                  3
## 5 Voto en blanco             2             3                  3
## 6       Gobierno             4             3                  4
##   conf_fuerza_publica conf_medios satisfaccion_vida percepcion_economia
## 1                   2           3                 3                   2
## 2                   5           4                 4                   2
## 3                   1           3                 2                   2
## 4                   5           4                 2                   5
## 5                   4           2                 3                   2
## 6                   3           2                 4                   3
##   percepcion_seguridad percepcion_corrupcion uso_redes_horas
## 1                    5                     3             0.6
## 2                    3                     4             1.9
## 3                    4                     5             2.7
## 4                    3                     4             0.0
## 5                    3                     4             3.2
## 6                    2                     4             1.4
##   plataforma_principal frecuencia_tv_noticias temas_prioritarios
## 1            Instagram                  Nunca             Empleo
## 2               TikTok              Ocasional Economía|Seguridad
## 3             WhatsApp                 Diaria              Salud
## 4               TikTok                Semanal         Transporte
## 5             Facebook                 Diaria              Salud
## 6             WhatsApp                 Diaria  Empleo|Transporte
##   satisfaccion_gobierno aprobacion_alcalde aprobacion_gobernador
## 1                     2                  3                     3
## 2                     2                  2                     3
## 3                     5                  3                     3
## 4                     4                  4                     5
## 5                     2                  3                     3
## 6                     3                  3                     4
##   satisfaccion_servicios percepcion_salud percepcion_educacion
## 1                      2                2                    1
## 2                      2                2                    4
## 3                      3                2                    2
## 4                      3                4                    5
## 5                      2                2                    3
## 6                      2                2                    4
##                            comentario_breve
## 1  Hay avances, pero falta mucho por hacer.
## 2 Más oportunidades de empleo para jóvenes.
## 3 Más oportunidades de empleo para jóvenes.
## 4          La educación debe ser prioridad.
## 5          La educación debe ser prioridad.
## 6       Quisiera más apoyo a emprendedores.
str(datos)# visualizar la estructura de los datos/variables 
## 'data.frame':    1500 obs. of  37 variables:
##  $ id                    : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ fecha_entrevista      : chr  "2025-07-15" "2025-08-14" "2025-08-22" "2025-07-21" ...
##  $ region                : chr  "Andina" "Caribe" "Caribe" "Pacífico" ...
##  $ departamento          : chr  "Norte de Santander" "Bolívar" "Atlántico" "Cauca" ...
##  $ municipio             : chr  "Municipio_21" "Municipio_127" "Municipio_225" "Municipio_225" ...
##  $ estrato_muestral      : chr  "Urbano" "Urbano" "Urbano" "Urbano" ...
##  $ cluster_psu           : int  160 6 193 121 59 178 196 8 40 174 ...
##  $ peso_muestral         : num  0.554 1.405 1.382 0.785 1.354 ...
##  $ sexo                  : chr  "Femenino" "Masculino" "Masculino" "Femenino" ...
##  $ edad                  : int  40 36 54 48 37 18 29 48 42 18 ...
##  $ estrato               : int  2 3 1 3 2 2 2 3 5 4 ...
##  $ educacion             : chr  "Secundaria" "Secundaria" "Universitaria" "Técnica/tecnológica" ...
##  $ ocupacion             : chr  "Cuenta propia" "Desempleado/a" "Desempleado/a" "Empleado/a" ...
##  $ ingreso_mensual       : int  1348000 1042000 2316000 1498000 9311000 1123000 5094000 3618000 1432000 1796000 ...
##  $ ideologia             : chr  "Izquierda" "Centro" "Izquierda" "Izquierda" ...
##  $ interes_politica      : chr  "Bajo" "Alto" "Medio" "Medio" ...
##  $ intencion_voto        : chr  "Indeciso" "Gobierno" "Indeciso" "Voto en blanco" ...
##  $ conf_gobierno         : int  3 5 2 4 2 4 5 3 2 4 ...
##  $ conf_congreso         : int  1 4 2 4 3 3 2 4 2 4 ...
##  $ conf_corte_suprema    : int  4 2 2 3 3 4 1 4 4 2 ...
##  $ conf_fuerza_publica   : int  2 5 1 5 4 3 3 5 5 3 ...
##  $ conf_medios           : int  3 4 3 4 2 2 3 2 2 1 ...
##  $ satisfaccion_vida     : int  3 4 2 2 3 4 2 3 4 3 ...
##  $ percepcion_economia   : int  2 2 2 5 2 3 3 3 3 4 ...
##  $ percepcion_seguridad  : int  5 3 4 3 3 2 3 4 4 1 ...
##  $ percepcion_corrupcion : int  3 4 5 4 4 4 4 2 5 4 ...
##  $ uso_redes_horas       : num  0.6 1.9 2.7 0 3.2 1.4 1.6 1.6 4.4 3.5 ...
##  $ plataforma_principal  : chr  "Instagram" "TikTok" "WhatsApp" "TikTok" ...
##  $ frecuencia_tv_noticias: chr  "Nunca" "Ocasional" "Diaria" "Semanal" ...
##  $ temas_prioritarios    : chr  "Empleo" "Economía|Seguridad" "Salud" "Transporte" ...
##  $ satisfaccion_gobierno : int  2 2 5 4 2 3 2 2 2 4 ...
##  $ aprobacion_alcalde    : int  3 2 3 4 3 3 3 3 4 1 ...
##  $ aprobacion_gobernador : int  3 3 3 5 3 4 1 3 2 3 ...
##  $ satisfaccion_servicios: int  2 2 3 3 2 2 2 3 3 1 ...
##  $ percepcion_salud      : int  2 2 2 4 2 2 5 3 2 1 ...
##  $ percepcion_educacion  : int  1 4 2 5 3 4 2 5 3 5 ...
##  $ comentario_breve      : chr  "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." ...
dim(datos)# visualizar las dimensiones de los datos/variables 
## [1] 1500   37

Realizando algunos analisis de los datos

head(datos$ ocupacion)
## [1] "Cuenta propia" "Desempleado/a" "Desempleado/a" "Empleado/a"   
## [5] "Empleado/a"    "Empleado/a"
summary(datos)
##        id         fecha_entrevista      region          departamento      
##  Min.   :   1.0   Length:1500        Length:1500        Length:1500       
##  1st Qu.: 375.8   Class :character   Class :character   Class :character  
##  Median : 750.5   Mode  :character   Mode  :character   Mode  :character  
##  Mean   : 750.5                                                           
##  3rd Qu.:1125.2                                                           
##  Max.   :1500.0                                                           
##   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 Rstudio las identifique

#Convertir variables en factores
datos$sexo  <- as.factor(datos$sexo ) #OJO: con el signo "$" llamo a una variable específica de mi dataset
datos$ educacion <- as.factor(datos$ educacion)
datos$frecuencia_tv_noticias <-as.factor(datos$frecuencia_tv_noticias)
datos$interes_politica <-as.factor(datos$interes_politica)
colSums(is.na(datos))
##                     id       fecha_entrevista                 region 
##                      0                      0                      0 
##           departamento              municipio       estrato_muestral 
##                      0                      0                      0 
##            cluster_psu          peso_muestral                   sexo 
##                      0                      0                      0 
##                   edad                estrato              educacion 
##                      0                      0                      0 
##              ocupacion        ingreso_mensual              ideologia 
##                      0                      0                      0 
##       interes_politica         intencion_voto          conf_gobierno 
##                      0                      0                      0 
##          conf_congreso     conf_corte_suprema    conf_fuerza_publica 
##                      0                      0                      0 
##            conf_medios      satisfaccion_vida    percepcion_economia 
##                      0                      0                      0 
##   percepcion_seguridad  percepcion_corrupcion        uso_redes_horas 
##                      0                      0                      0 
##   plataforma_principal frecuencia_tv_noticias     temas_prioritarios 
##                      0                      0                      0 
##  satisfaccion_gobierno     aprobacion_alcalde  aprobacion_gobernador 
##                      0                      0                      0 
## satisfaccion_servicios       percepcion_salud   percepcion_educacion 
##                      0                      0                      0 
##       comentario_breve 
##                      0

Tabla de Frecuencia para Nivel de Educación

tabla_educacion <- table(datos$educacion)
print(tabla_educacion)
## 
##            Posgrado    Primaria o menos          Secundaria Técnica/tecnológica 
##                  90                 191                 588                 275 
##       Universitaria 
##                 356

Tabla de Frecuencia Agrupada para Ingreso Mensual

# Determinar automáticamente el número de intervalos con la regla de Sturges
num_intervals <- nclass.Sturges(datos$ingreso_mensual)

# Agrupar ingresos en intervalos automáticos
datos$ingreso_grupo <- cut(datos$ingreso_mensual, breaks = num_intervals, include.lowest = TRUE)

# Crear la tabla de frecuencia
tabla_ingreso <- table(datos$ingreso_grupo)

# Convertir en data frame para mejor presentación
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  # Convertir a porcentaje
tabla_ingreso_df$frecuencia_relativa <- round(frecuencia_relativa, 2)  # Agregar columna con % y redondear

tabla_ingreso_df #Mostrar la tabla resultante
##       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

Analisis grafico

Diagrama de Caja y Bigotes

boxplot(datos$edad, horizontal=TRUE, col='green   ', main="Boxplot de edad")

Del caja y bigotes se concluye que la mediana (línea negra dentro de la caja) está cerca de los 40 años, indicando que la mitad de la muestra tiene menos de 40 años y la otra mitad más.

Diagrama de Barras

ggplot(datos, aes(x = sexo, fill = sexo)) +  
  geom_bar() +  
  labs(title = "Distribución de Género", x = "Género", y = "Frecuencia") +  
  theme_minimal()

Del diagrama de barras se concluye:

Distribución de género equilibrada, con ligera mayoría femenina.

La categoría “Otro/No responde” es mínima, mostrando que la mayor parte de la muestra se identifica como masculino o femenino.

Insights del Análisis

  1. Los encuestados con mayor uso de redes sociales (promedio: 3.5 horas/día) muestran un nivel más alto de interés político que quienes usan menos de 1 hora diaria.

  2. La Fuerza Pública presenta el nivel de confianza promedio más alto (3.8/5), mientras que el Congreso es la institución con menor confianza (2.5/5).

  3. La percepción de corrupción es más alta en las regiones Pacífico, Orinoquía y Andina (promedios cercanos a 4 en escala 1–5).

Recomendaciones

  1. Fortalecer la comunicación institucional en plataformas digitales, dado el alto uso de redes sociales entre los grupos con mayor interés político.

  2. Implementar campañas de transparencia y lucha contra la corrupción en regiones Pacifico, Orinoquia y Andina donde la percepción de corrupción es más alta.