La Percepción Ciudadana sobre la Aprobación Presidencial

1. Revisión de datos:

1.1 ¿Cuál es la población objetivo? Los ciudadanos mayores de 18 años de la ciudad del Norte de distintos niveles socioeconómicos y educativos, quienes tienen acceso a información política a través de diversos medios de comunicación.

1.2 ¿Existe una muestra? ¿Cuál es? Muestreo aleatorio estratificado con 300 personas de sectores urbanos y rurales.

1.3 Menciones un parámetro y un estadístico en este estudio. Parametro: la percepción ciudadana sobre la aprobación presidencial de toda la población de ciudadanos mayores de 18 años de la ciudad del Norte, en función de distintos niveles socioeconómicos y educativos.

Estadistico: la percepción ciudadana sobre la aprobación presidencial obtenida de la muestra de 300 personas seleccionadas aleatoriamente de diversos sectores urbanos y rurales de la ciudad del Norte con distintos niveles socioeconomicos y educativos.

1.4 Clasifique cada una de las variables de la base de datos acuerdo con su naturaleza y nivel de medición

Género: Categórico Nominal

Nivel Educativo: Categórico Ordinal

Confianza en el gobierno: Categórico ordinal

Exposición noticas: categorico ordinal

Aprobación del presidente: categórico ordinal

Edad: Numérico continuo

Ingreso mensual: Numérico Continuo

Horas de consumo de noticias: Numérico continuo


Instalar y cargar paquetes necesarios

Recuerde que la instación se realiza una sóla vez con la función instal..packages(“nombre del paquete”), luego se deben llamar con la función library(nombre del paquete).

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

2. Preparación de la base de datos:

Cargar base de datos:

datos <- read_csv ("dataset_aprobacion_presidente.csv")
## Rows: 300 Columns: 8
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (4): genero, nivel_educativo, confianza_gobierno, exposicion_noticias
## dbl (4): aprobacion_presidente, edad, ingreso_mensual, horas_consumo_noticias
## 
## ℹ 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.

Nombres de variables

names(datos)
## [1] "genero"                 "nivel_educativo"        "confianza_gobierno"    
## [4] "exposicion_noticias"    "aprobacion_presidente"  "edad"                  
## [7] "ingreso_mensual"        "horas_consumo_noticias"

Dimesiones de la base de datos

dim(datos)
## [1] 300   8

Mostrar las primeras filas de la base de datos

head(datos)
## # A tibble: 6 × 8
##   genero    nivel_educativo confianza_gobierno exposicion_noticias
##   <chr>     <chr>           <chr>              <chr>              
## 1 masculino primaria        baja               baja               
## 2 otro      secundaria      baja               baja               
## 3 femenino  secundaria      baja               baja               
## 4 femenino  universitario   baja               moderada           
## 5 masculino universitario   baja               moderada           
## 6 masculino posgrado        baja               alta               
## # ℹ 4 more variables: aprobacion_presidente <dbl>, edad <dbl>,
## #   ingreso_mensual <dbl>, horas_consumo_noticias <dbl>

Tipos de datos

str(datos)
## spc_tbl_ [300 × 8] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ genero                : chr [1:300] "masculino" "otro" "femenino" "femenino" ...
##  $ nivel_educativo       : chr [1:300] "primaria" "secundaria" "secundaria" "universitario" ...
##  $ confianza_gobierno    : chr [1:300] "baja" "baja" "baja" "baja" ...
##  $ exposicion_noticias   : chr [1:300] "baja" "baja" "baja" "moderada" ...
##  $ aprobacion_presidente : num [1:300] 3 1 1 1 3 3 3 1 1 5 ...
##  $ edad                  : num [1:300] 10 67 23 20 52 69 56 46 47 50 ...
##  $ ingreso_mensual       : num [1:300] 2420 3294 2760 2578 4205 ...
##  $ horas_consumo_noticias: num [1:300] 9.31 3.88 8.95 5.75 7.1 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   genero = col_character(),
##   ..   nivel_educativo = col_character(),
##   ..   confianza_gobierno = col_character(),
##   ..   exposicion_noticias = col_character(),
##   ..   aprobacion_presidente = col_double(),
##   ..   edad = col_double(),
##   ..   ingreso_mensual = col_double(),
##   ..   horas_consumo_noticias = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>
datos$aprobacion_presidente <- as.factor(datos$aprobacion_presidente)
str(datos)
## spc_tbl_ [300 × 8] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
##  $ genero                : chr [1:300] "masculino" "otro" "femenino" "femenino" ...
##  $ nivel_educativo       : chr [1:300] "primaria" "secundaria" "secundaria" "universitario" ...
##  $ confianza_gobierno    : chr [1:300] "baja" "baja" "baja" "baja" ...
##  $ exposicion_noticias   : chr [1:300] "baja" "baja" "baja" "moderada" ...
##  $ aprobacion_presidente : Factor w/ 3 levels "1","3","5": 2 1 1 1 2 2 2 1 1 3 ...
##  $ edad                  : num [1:300] 10 67 23 20 52 69 56 46 47 50 ...
##  $ ingreso_mensual       : num [1:300] 2420 3294 2760 2578 4205 ...
##  $ horas_consumo_noticias: num [1:300] 9.31 3.88 8.95 5.75 7.1 ...
##  - attr(*, "spec")=
##   .. cols(
##   ..   genero = col_character(),
##   ..   nivel_educativo = col_character(),
##   ..   confianza_gobierno = col_character(),
##   ..   exposicion_noticias = col_character(),
##   ..   aprobacion_presidente = col_double(),
##   ..   edad = col_double(),
##   ..   ingreso_mensual = col_double(),
##   ..   horas_consumo_noticias = col_double()
##   .. )
##  - attr(*, "problems")=<externalptr>

Revisión de valores faltantes

colSums(is.na(datos))
##                 genero        nivel_educativo     confianza_gobierno 
##                      0                      0                      0 
##    exposicion_noticias  aprobacion_presidente                   edad 
##                      0                      0                      0 
##        ingreso_mensual horas_consumo_noticias 
##                     25                     20

¿qué encontró?

Faltan 25 datos de ingreso muestral y 20 datos de horas de consumo de noticias

Revisión de datos atípicos

summary(datos)
##     genero          nivel_educativo    confianza_gobierno exposicion_noticias
##  Length:300         Length:300         Length:300         Length:300         
##  Class :character   Class :character   Class :character   Class :character   
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character   
##                                                                              
##                                                                              
##                                                                              
##                                                                              
##  aprobacion_presidente      edad       ingreso_mensual  horas_consumo_noticias
##  1:126                 Min.   : 8.00   Min.   :-12218   Min.   :-4.607        
##  3:103                 1st Qu.:32.00   1st Qu.:  1943   1st Qu.: 7.323        
##  5: 71                 Median :40.00   Median :  3267   Median :10.206        
##                        Mean   :40.22   Mean   :  7671   Mean   :10.441        
##                        3rd Qu.:48.00   3rd Qu.:  4846   3rd Qu.:13.978        
##                        Max.   :71.00   Max.   :579288   Max.   :25.966        
##                                        NA's   :25       NA's   :20

¿qué encontró?

Edad: basado en el resumen de datos no hay valores atipicos, ya que la mediana y la media estan cerca.

Ingreso mensual: basado en el resumen si hay valores atipicos, porque la media es superior a la mediana.


3. Organización de datos en tablas de frecuencias:

Tabla de frecuencia no agrupada para la variable: Genero

tabla_genero <- table(datos$genero)
print(tabla_genero)
## 
##  femenino masculino      otro 
##       135       136        29

INTERPRETACIÓN: Se puede ver que dentro de la muestra hay más hombres que mujeres pero tambien se registran 29 otros generos.

Tabla de frecuencia no agrupada para la variable: Confianza en el gobierno

tabla_confianza_gobierno <- table(datos$confianza_gobierno)
print(tabla_confianza_gobierno)
## 
##  alta  baja media 
##    39   161   100

INTERPRETACIÓN: La mayoría de las personas tienen poca confianza en el gobierno, ya que la opción baja es la más frecuente (161), seguida de media (100) y muy pocos tienen confianza alta (39). Esto muestra una percepción mayormente negativa hacia el gobierno.

Tabla de frecuencia agrupada para la variable: edad

num_intervals <- nclass.Sturges(datos$edad)
datos$edad <- as.numeric(datos$edad)
datos$edad <- cut(datos$edad, breaks = num_intervals, include.lowest = TRUE)
tabla_edad <- table(datos$edad)
tabla_edad_df <- as.data.frame(tabla_edad)
colnames(tabla_edad_df) <- c("Rango de edad", "Frecuencia")
frecuencia_relativa <- prop.table(tabla_edad) * 100
tabla_edad_df$frecuencia_relativa <- round(frecuencia_relativa, 2)
tabla_edad_df
##    Rango de edad Frecuencia frecuencia_relativa
## 1    [7.94,14.3]          4                1.33
## 2    (14.3,20.6]         10                3.33
## 3    (20.6,26.9]         26                8.67
## 4    (26.9,33.2]         51               17.00
## 5    (33.2,39.5]         48               16.00
## 6    (39.5,45.8]         61               20.33
## 7    (45.8,52.1]         53               17.67
## 8    (52.1,58.4]         26                8.67
## 9    (58.4,64.7]         11                3.67
## 10   (64.7,71.1]         10                3.33

INTERPRETACIÓN: La tabla de frecuencia agrupada muestra la distribución de edades en distintos rangos, con la mayor concentración en el intervalo de 39.5,45.8 años (20.33%). La distribución es aproximadamente simétrica.

Tabla de contingencia para nivel educativo y genero #tabla de contingencia

tabla_contingencia <- table(datos$nivel_educativo, datos$genero)
print(tabla_contingencia)
##                
##                 femenino masculino otro
##   posgrado            18        18    3
##   primaria            21        22    8
##   secundaria          37        41   11
##   sin educación       11         6    1
##   universitario       48        49    6

INTERPRETACIÓN: La tabla muestra la distribución del nivel educativo según género, con la mayoría de las personas alcanzando niveles de educación secundaria o universitaria.Además, se puede observar que el genero femenino sin educación es mayor que el genero masculino.

4. Organización de datos en gráficos

Grafico de cajas y bigotes para la variable: Ingreso mensual

Gráfico 1

options(scipen=999)
boxplot(datos$ingreso_mensual, horizontal=TRUE, col='cadetblue4', main="Boxplot de Ingreso Mensual")

INTERPRETACION: Distribucion sesgada negativamente, ya que la mediana esta concentrada en la izquierda,lo que sugiere que la muestra tiene ingresos bajos. Tambien cuenta con valores atipicos que superan la mediana, lo que afecta el valor de la media.

Grafico para la variable: Ingreso mensual sin valores extremos

options(scipen=999)
boxplot(datos$ingreso_mensual, horizontal=TRUE, col='cadetblue4', 
        main="Boxplot de Ingreso Mensual (Sin Valores Extremos)", 
        outline=FALSE)

Grafico para la variable: Ingreso mensual atipicos remplazado con media

mediana <- median(datos$ingreso_mensual, na.rm=TRUE)
datos$ingreso_mensual <- ifelse(datos$ingreso_mensual %in% boxplot.stats(datos$ingreso_mensual)$out, 
                                mediana, 
                                datos$ingreso_mensual)
boxplot(datos$ingreso_mensual, horizontal=TRUE, col='cadetblue4', 
        main="Boxplot de Ingreso Mensual (Atípicos Reemplazados con Mediana)")

INTERPRETACION:Al remplazar los valores atipicos con la mediana, se ve una dsitrubucion de datos con menos sesgo.

Grafico de cajas y bigotes para la variable: horas consumo noticias # Gráfico 2

options(scipen=999)
boxplot(datos$horas_consumo_noticias, horizontal=TRUE, col='steelblue', main="Boxplot de Consumo de Noticias")

INTERPRETACION: La mayoría consume cerca de 10 noticias, pero hay valores atípicos en ambos extremos, lo cual afecta la media.

Gráfico de barras para la variable: Confianza en el gobierno # Gráfico 3

ggplot(datos, aes(x = confianza_gobierno, fill = confianza_gobierno)) +  
  geom_bar() +  
  labs(title = "Confianza en el Gobierno", x = "Confianza Gob", y = "Frecuencia") +  
  theme_minimal()

INTERPRETACION: La mayoría de las personas tienen una baja confianza en el gobierno, seguida por un grupo considerable con confianza media, mientras que pocos expresan una alta confianza. Esto sugiere una percepción general de desconfianza en el gobierno.

5. Hallazgos y conclusiones

  • Hallazgo 1: De un total de 300 personas mayores de 18 años en la ciudad del Norte, provenientes de diferentes estratos socioeconómicos y niveles educativos, se observa que la mayoría muestra una baja confianza en el gobierno. En la evaluación de confianza, 161 encuestados seleccionaron la opción “baja”, mientras que 100 votaron por la opción “media” y únicamente 39 eligieron “alta”.

  • Hallazgo 2: El análisis bivariado de la tabla de contingencia revela que en la muestra hay más hombres que mujeres. Asimismo, los hombres presentan niveles educativos superiores en los ámbitos de primaria, secundaria y educación universitaria. Esta disparidad en el nivel educativo entre los encuestados podría influir en su percepción respecto a la “confianza en el gobierno” y la “aprobación del presidente”.

  • Hallazgo 3: Se han identificado errores sistemáticos en la muestra, lo que puede ocasionar sesgos. Por un lado, se encuentran valores negativos en variables que no deberían registrar esos números, como el ingreso mensual y las horas dedicadas al consumo de noticias. Esto sugiere problemas en la recolección o en la digitación de los datos. Además, la variable de edad incluye a personas menores de 18 años, lo que contradice el criterio que se estableció para la encuesta. Estos errores en los datos podrían afectar la validez de los resultados

Conclusión: En conclusión, los hallazgos obtenidos de la muestra realizada a 300 personas mayores de 18 años de la ciudad del Norte, reflejan una preocupante falta de confianza en el gobierno, con más de la mitad de los encuestados identificando su nivel de confianza como “bajo”. Además, la diferencia de género observada, con una mayor representación masculina y un nivel educativo generalmente más alto en hombres, podría estar vinculada a variaciones en la percepción de confianza y aprobación al presidente. Esta disparidad resalta la importancia de considerar aspectos demográficos y educativos al interpretar los resultados de confianza en el gobierno. Finalmente, es crucial señalar la presencia de errores sistemáticos en la recolección de datos, como valores negativos en variables clave y la inclusión incorrecta de personas menores de 18 años.