Introducción
Para el desarrollo de estos ejercicios, vamos a trabajar con la base de datos de la encuesta sobre “Medios de Comunicación” realizada por el Instituto de Opinión Pública de la PUCP en la ciudad de Lima en marzo del 2013.
En esta oportunidad vamos a analizar que factores están asociados al consumo de informativos políticos que se transmiten por los distintos medios de comunicación (i.e., televisión, radio, prensa e internet). Para este análisis tomaremos como variable dependiente al número de días a la semana que los ciudadanos consumo informativos políticos.Por otro lado, como factores de este consumo, tomaremos distintas variables sociodemográicas.
Variables dependientes
Consumo de informativos políticos en televisión (“P1A_TOT_Panel1”)
Consumo de informativos políticos en radio (“P1B_TOT_Panel1”)
Consumo de informativos políticos en prensa (“P1C_TOT_Panel1”)
Consumo de informativos políticos en internet (“P1D_TOT_Panel1”)
Variables independientes
SEXO: Sexo del encuestado(“Hombre”, “Mujer”)
GEDAD: Grupo etario(“18 a 29”, “30 a 44”, “45 a más”)
NSEGrupMarco: Nivel socioeconómico del hogar del encuestado(“A/B”, “C”, “D/E”)
Carga de Paquetes
A continuación, cargamos los paquetes necesarios para desarrollar los ejercicios. El paquete “foreign” permite importar datos en formato “sav” y el paquete “summarytools” permite calcular los estadísticos descriptivos más importantes. ___
library(foreign)
library(summarytools)
Cargar data
A continuación, cargamos los datos con la función “read.spss”: ___
df <- read.spss("BASE_MEDIOS.sav", to.data.frame = T , use.value.labels = T)
Exploración de data
names(df)
## [1] "NUM" "Paneles"
## [3] "Paneles_01_02" "Paneles_01_03"
## [5] "Formato_Recolección_Panel2" "SEXO"
## [7] "EDAD" "P1A_TOT_Panel1"
## [9] "P1B_TOT_Panel1" "P1C_TOT_Panel1"
## [11] "P1D_TOT_Panel1" "P5A_Panel1"
## [13] "P5B_Panel1" "P5C_Panel1"
## [15] "P5D_Panel1" "P5E_Panel1"
## [17] "P5F_Panel1" "P5G_Panel1"
## [19] "P5H_Panel1" "P20A_Panel1"
## [21] "P20B_Panel1" "P20C_Panel1"
## [23] "P20D_Panel1" "P20E_Panel1"
## [25] "P20F_Panel1" "P21A_Panel1"
## [27] "P21B_Panel1" "P21C_Panel1"
## [29] "P21D_Panel1" "P21E_Panel1"
## [31] "P21F_Panel1" "P35_Panel1"
## [33] "P36_Panel1" "P37_Panel1"
## [35] "P38A_Panel1" "P38B_Panel1"
## [37] "P38C_Panel1" "P38D_Panel1"
## [39] "P38E_Panel1" "P38F_Panel1"
## [41] "P38G_Panel1" "P38H_Panel1"
## [43] "P38I_Panel1" "P38J_Panel1"
## [45] "GEDAD" "NSEGrupMarco"
## [47] "DELIBERACION_OFFLINE" "PPO"
head(df)
## NUM Paneles Paneles_01_02 Paneles_01_03
## 1 139 Encuesta aplicada sólo en el 1er Panel No se aplicó No se aplicó
## 2 171 Encuesta aplicada en los Paneles 1 y 2 Sí se aplicó No se aplicó
## 3 1 Encuesta aplicada en los Paneles 1, 2 y 3 Sí se aplicó Sí se aplicó
## 4 8 Encuesta aplicada en los Paneles 1, 2 y 3 Sí se aplicó Sí se aplicó
## 5 9 Encuesta aplicada en los Paneles 1, 2 y 3 Sí se aplicó Sí se aplicó
## 6 10 Encuesta aplicada en los Paneles 1, 2 y 3 Sí se aplicó Sí se aplicó
## Formato_Recolección_Panel2 SEXO EDAD P1A_TOT_Panel1 P1B_TOT_Panel1
## 1 <NA> Hombre 31 Ningún día Ningún día
## 2 Presencial Mujer 24 5 Ningún día
## 3 Telefónica Hombre 23 7 7
## 4 Telefónica Hombre 23 3 7
## 5 Presencial Mujer 23 2 Ningún día
## 6 Presencial Mujer 29 2 Ningún día
## P1C_TOT_Panel1 P1D_TOT_Panel1 P5A_Panel1 P5B_Panel1 P5C_Panel1 P5D_Panel1
## 1 Ningún día Ningún día <NA> <NA> <NA> <NA>
## 2 Ningún día Ningún día No No No No
## 3 7 7 No No Sí Sí
## 4 1 7 No No No No
## 5 1 Ningún día No No No No
## 6 7 1 No No No No
## P5E_Panel1 P5F_Panel1 P5G_Panel1 P5H_Panel1 P20A_Panel1 P20B_Panel1
## 1 <NA> <NA> <NA> <NA> <NA> <NA>
## 2 No No No No <NA> <NA>
## 3 No No No No Nunca Nunca
## 4 No No No Sí Nunca Nunca
## 5 No No No No Nunca Nunca
## 6 No No No No Nunca Nunca
## P20C_Panel1 P20D_Panel1 P20E_Panel1 P20F_Panel1 P21A_Panel1 P21B_Panel1
## 1 <NA> <NA> <NA> <NA> <NA> <NA>
## 2 Nunca Nunca Nunca Nunca Nunca Nunca
## 3 Nunca Nunca 5 5 Nunca Nunca
## 4 5 Nunca Nunca 7 Nunca Nunca
## 5 Nunca Nunca Nunca Nunca Nunca Nunca
## 6 2 2 2 Nunca Nunca Nunca
## P21C_Panel1 P21D_Panel1 P21E_Panel1 P21F_Panel1 P35_Panel1
## 1 <NA> <NA> <NA> <NA> Nada interesado
## 2 Nunca Nunca Nunca Nunca Nada interesado
## 3 5 Nunca 5 5 Nada interesado
## 4 2 Nunca Nunca Nunca Poco interesado
## 5 Nunca Nunca Nunca Nunca Nada interesado
## 6 Nunca Nunca Nunca Nunca Poco interesado
## P36_Panel1 P37_Panel1 P38A_Panel1 P38B_Panel1 P38C_Panel1 P38D_Panel1
## 1 Poco informado Insatisfecho Poca Ninguna Poca Poca
## 2 Poco informado Insatisfecho Ninguna Ninguna Ninguna Ninguna
## 3 Poco informado Insatisfecho Poca Poca Poca Ninguna
## 4 Muy informado Insatisfecho NS / NR Ninguna Alguna Ninguna
## 5 Nada informado Insatisfecho NS / NR NS / NR NS / NR Ninguna
## 6 Poco informado Insatisfecho Alguna Poca Ninguna Alguna
## P38E_Panel1 P38F_Panel1 P38G_Panel1 P38H_Panel1 P38I_Panel1 P38J_Panel1
## 1 Ninguna Poca Ninguna Poca Poca Ninguna
## 2 Ninguna Ninguna Ninguna Ninguna Ninguna Ninguna
## 3 Poca Poca Ninguna Poca Poca Poca
## 4 Ninguna Ninguna Ninguna Ninguna NS / NR Poca
## 5 Poca Alguna NS / NR NS / NR Ninguna NS / NR
## 6 Ninguna Poca Ninguna Ninguna Ninguna Poca
## GEDAD NSEGrupMarco DELIBERACION_OFFLINE PPO
## 1 30 a 44 años D/E NA NA
## 2 18 a 29 años D/E NA 2.000000
## 3 18 a 29 años C 2.333333 1.857143
## 4 18 a 29 años C 2.666667 1.857143
## 5 18 a 29 años C 1.000000 2.000000
## 6 18 a 29 años C 1.500000 2.000000
Adecuación de data
Como la variable dependiente está registrada como objeto de tipo factor, la pasamos a objeto numérico.
df$P1A_TOT_Panel1.n <- as.numeric(df$P1A_TOT_Panel1)
1. Estadísticos descriptivos
La función “descr” permite calcular los estadísticos descriptivos del consumo de informativos políticos en televisión. En este caso, vamos a contrastar el nivel de consumo de informativos políticos según NSE.
En este caso, se observa que el consumo de informativos políticos es alto en todos los grupos. Se observa que los encuestados consumen informativos políticos por encima de 5 días a la semana. De los 3 grupos, el NSE “A/B” es el que presenta el nivel de consumo más alto con casi 6 días a la semana de consumo (M=5.93).
___
with(df, stby(P1A_TOT_Panel1.n, INDICES = NSEGrupMarco,
FUN = descr))
## Descriptive Statistics
## P1A_TOT_Panel1.n by NSEGrupMarco
## Data Frame: df
## N: 109
##
## A/B C D/E
## ----------------- -------- -------- --------
## Mean 5.93 5.87 5.28
## Std.Dev 2.69 2.62 2.72
## Min 1.00 1.00 1.00
## Q1 3.00 3.00 3.00
## Median 8.00 8.00 6.00
## Q3 8.00 8.00 8.00
## Max 8.00 8.00 8.00
## MAD 0.00 0.00 2.97
## IQR 5.00 5.00 5.00
## CV 0.45 0.45 0.51
## Skewness -0.78 -0.68 -0.41
## SE.Skewness 0.23 0.15 0.15
## Kurtosis -1.11 -1.18 -1.37
## N.Valid 109.00 263.00 262.00
## Pct.Valid 100.00 100.00 100.00
tapply(df$P1A_TOT_Panel1.n, df$NSEGrupMarco,hist)
## $`A/B`
## $breaks
## [1] 1 2 3 4 5 6 7 8
##
## $counts
## [1] 21 10 2 3 9 4 60
##
## $density
## [1] 0.19266055 0.09174312 0.01834862 0.02752294 0.08256881 0.03669725 0.55045872
##
## $mids
## [1] 1.5 2.5 3.5 4.5 5.5 6.5 7.5
##
## $xname
## [1] "X[[i]]"
##
## $equidist
## [1] TRUE
##
## attr(,"class")
## [1] "histogram"
##
## $C
## $breaks
## [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
##
## $counts
## [1] 23 21 0 25 0 22 0 7 0 16 0 8 0 141
##
## $density
## [1] 0.17490494 0.15969582 0.00000000 0.19011407 0.00000000 0.16730038
## [7] 0.00000000 0.05323194 0.00000000 0.12167300 0.00000000 0.06083650
## [13] 0.00000000 1.07224335
##
## $mids
## [1] 1.25 1.75 2.25 2.75 3.25 3.75 4.25 4.75 5.25 5.75 6.25 6.75 7.25 7.75
##
## $xname
## [1] "X[[i]]"
##
## $equidist
## [1] TRUE
##
## attr(,"class")
## [1] "histogram"
##
## $`D/E`
## $breaks
## [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0
##
## $counts
## [1] 46 13 0 14 0 33 0 17 0 25 0 9 0 105
##
## $density
## [1] 0.35114504 0.09923664 0.00000000 0.10687023 0.00000000 0.25190840
## [7] 0.00000000 0.12977099 0.00000000 0.19083969 0.00000000 0.06870229
## [13] 0.00000000 0.80152672
##
## $mids
## [1] 1.25 1.75 2.25 2.75 3.25 3.75 4.25 4.75 5.25 5.75 6.25 6.75 7.25 7.75
##
## $xname
## [1] "X[[i]]"
##
## $equidist
## [1] TRUE
##
## attr(,"class")
## [1] "histogram"
Preguntas
Describa el sesgo de la distribución en cada uno de los grupos considerando la asimetría (“Skewness”) y curtosis (“Kurtosis”)
¿En qué grupos existe normalidad?
2. Evaluación de normalidad con prueba de contraste
Como se trata de una variable con más de 120 casos, utilizamos la prueba de Kolgomorov-Smirnov, pero como se trata de 3 grupos de contraste, debemos de calcular 3 pruebas de normalidad.
En este caso, se observa que las 3 pruebas de normalidad indican que no existe normalidad. En los 3 casos tenemos un p valor menor a 0.05. Por lo tanto, no se puede utilizar una prueba de ANOVA de un factor para contratar las medias de consumo, más bien debemos de utilizar la prueba de análisis no paramétrica de Kruskall-Wallis. ___
tapply(df$P1A_TOT_Panel1.n, df$NSEGrupMarco, ks.test, "pnorm")
## $`A/B`
##
## One-sample Kolmogorov-Smirnov test
##
## data: X[[i]]
## D = 0.87633, p-value < 2.2e-16
## alternative hypothesis: two-sided
##
##
## $C
##
## One-sample Kolmogorov-Smirnov test
##
## data: X[[i]]
## D = 0.8898, p-value < 2.2e-16
## alternative hypothesis: two-sided
##
##
## $`D/E`
##
## One-sample Kolmogorov-Smirnov test
##
## data: X[[i]]
## D = 0.84134, p-value < 2.2e-16
## alternative hypothesis: two-sided
Nota: Si tueviera menos de 120 casos, utilizamos la prueba de contraste de Shapiro-Wilk
tapply(variable dependiente, variable independiente, shapiro.test)
3. Prueba de contraste estadístico
En este caso se observa que existen diferencias estadísticamente significativas en al menos dos de las medias de contraste (CHI2(2) = 9.6112, p valor = 0.008). Sin embargo, para saber entre qué grupos existen diferencias, debemos de calcular un contraste post-hoc.
kruskal.test(df$P1A_TOT_Panel1.n ~ df$NSEGrupMarco)
##
## Kruskal-Wallis rank sum test
##
## data: df$P1A_TOT_Panel1.n by df$NSEGrupMarco
## Kruskal-Wallis chi-squared = 9.6112, df = 2, p-value = 0.008184
pairwise.wilcox.test(x = df$P1A_TOT_Panel1.n, g = df$NSEGrupMarco, p.adjust.method = "holm" )
##
## Pairwise comparisons using Wilcoxon rank sum test with continuity correction
##
## data: df$P1A_TOT_Panel1.n and df$NSEGrupMarco
##
## A/B C
## C 0.897 -
## D/E 0.040 0.018
##
## P value adjustment method: holm
Luego de realizar el contrate post-hoc, se observa que existen diferencias entre el NSE A/B los otros dos grupos.
Otras pruebas
wilcox.test(variable, mu = parametro, conf.int = TRUE)
wilcox.test(variable dependiente ~ variable independiente)
wilcox.test(variable 1, variable 2,paired=TRUE)
4. Análisis de correlación no paramétrico
ks.test(df$DELIBERACION_OFFLINE,"pnorm")
##
## One-sample Kolmogorov-Smirnov test
##
## data: df$DELIBERACION_OFFLINE
## D = 0.84134, p-value < 2.2e-16
## alternative hypothesis: two-sided
ks.test(df$PPO,"pnorm")
##
## One-sample Kolmogorov-Smirnov test
##
## data: df$PPO
## D = 0.9031, p-value < 2.2e-16
## alternative hypothesis: two-sided
cor.test(df$DELIBERACION_OFFLINE, df$PPO, method="spearman")
##
## Spearman's rank correlation rho
##
## data: df$DELIBERACION_OFFLINE and df$PPO
## S = 4934071, p-value = 1.517e-05
## alternative hypothesis: true rho is not equal to 0
## sample estimates:
## rho
## -0.2523227