[1] "SbjNum" "nivel" "nivel2" "Dg1" "Dg1x" "DG02"
Como ya sabemos, lo primero a realizar es cambiar el directorio y abrir la base de datos.
[1] "SbjNum" "nivel" "nivel2" "Dg1" "Dg1x" "DG02"
Se debe reemplazar el valor 6 por NA. Para ello generamos una nueva variables con el comando mutate.
library(dplyr)
data=data%>%
dplyr::rename("impuestos"=P41_1)%>%
mutate(impuestos=na_if(impuestos, 6))%>%
dplyr::rename("piratas"=P41_2)%>%
mutate(piratas=na_if(piratas, 6))%>%
dplyr::rename("propina"=P41_3)%>%
mutate(propina=na_if(propina, 6))%>%
dplyr::rename("simpatizantes"=P41_4)%>%
mutate(simpatizantes=na_if(simpatizantes, 6))%>%
dplyr::rename("nofactura"=P41_5)%>%
mutate(nofactura=na_if(nofactura, 6))%>%
dplyr::rename("funcionario"=P41_6)%>%
mutate(funcionario=na_if(funcionario, 6))%>%
dplyr::rename("favorsexual"=P41_7)%>%
mutate(favorsexual=na_if(favorsexual, 6))%>%
dplyr::rename("contrato"=P41_8)%>%
mutate(contrato=na_if(contrato, 6))%>%
dplyr::rename("jueces"=P41_9)%>%
mutate(jueces=na_if(jueces, 6))%>%
dplyr::rename("leyes"=P41_10)%>%
mutate(leyes=na_if(leyes, 6))%>%
dplyr::rename("callado"=P41_11)%>%
mutate(callado=na_if(callado, 6))
library(dplyr)
data$suma=(data$impuestos+data$piratas+data$propina+data$simpatizantes+data$nofactura+data$funcionario+data$favorsexual+data$contrato+data$jueces+data$leyes+data$callado)
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
11.00 18.00 22.00 21.48 23.00 54.00 91
De acuerdo a lo anterior, apreciamos que el valor mínimo es 11. Entonces, restamos a la suma, el valor mínimo.
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.00 7.00 11.00 10.48 12.00 43.00 91
Divido entre el nuevo máximo, es decir, 43.
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.0000 0.1628 0.2558 0.2437 0.2791 1.0000 91
Dado que los valores están de 0 a 1, los multiplico por 100, si deseo que indicador sea de 0 a 100, o los multiplico por 10, si deseo que el indicador sea de 0 a 10.
Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
0.000 1.628 2.558 2.436 2.791 10.000 91
¿El indicador de tolerancia a la corrupción varía de acuerdo al lugar de residencia de los encuestados (Lima o el interior del país)?
data$zonab=as.factor(data$zonab)
data$zonab=factor(data$zonab,
levels = levels(data$zonab),
labels = c("Lima","Interior"),
ordered = F)
Verifico
Lima Interior
578 1279
¿El indicador de tolerancia a la corrupción varía de acuerdo al sexo de los encuestados?
Descriptive statistics by group
group: Lima
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 551 2.3 1.32 2.56 2.27 0.69 0 9.53 9.53 1.05 4.77 0.06
------------------------------------------------------------
group: Interior
vars n mean sd median trimmed mad min max range skew kurtosis se
X1 1 1215 2.5 1.46 2.56 2.37 1.03 0 10 10 0.98 1.73 0.04
library(lsr)
tabla=data%>%
group_by(zonab) %>%
summarise(Desviacion = sd(indicador0a10, na.rm=T),
Media = mean(indicador0a10, na.rm=T),
min = ciMean(indicador0a10,conf = 0.95, na.rm=T)[1],
max = ciMean(indicador0a10,conf = 0.95, na.rm=T)[2],
n=length(indicador0a10)
)
tabla
# A tibble: 2 × 6
zonab Desviacion Media min max n
<fct> <dbl> <dbl> <dbl> <dbl> <int>
1 Lima 1.32 2.30 2.19 2.41 578
2 Interior 1.46 2.50 2.42 2.58 1279
Welch Two Sample t-test
data: indicador0a10 by zonab
t = -2.8336, df = 1165, p-value = 0.004681
alternative hypothesis: true difference in means between group Lima and group Interior is not equal to 0
95 percent confidence interval:
-0.33712342 -0.06127454
sample estimates:
mean in group Lima mean in group Interior
2.299413 2.498612
Al 95% de nivel de confianza, se puede considerar que existe una diferencia SIGNIFICATIVA en el indicador de tolerancia a la corrupción entre los encuestados que residen en Lima y en el interior del país. Quienes viven al interior del país suelen tener una tolerancia a la corrupción más alta de quienes residen en Lima Metropolitana.
library(ggplot2)
ggplot(tabla, aes(x= zonab, y =Media)) +
geom_errorbar(aes(ymin=min, ymax=max), width = 0.2)+
geom_text(aes(label=paste(round(Media, 2))), size=4)+
xlab("Lugar de residencia") + ylab("Tolerancia a la corrupción")+
ylim(1, 3)
Por ejemplo: El nivel de tolerancia a la corrupción con el Nivel Socioeconómico .
¿Con qué otras variables categóricas podemos comparar al indicador de tolerancia a la corrupción?
ANOVA son las siglas de Analysis of Variance.
Hay varios subtipos de ANOVA. Nos centraremos en ANOVA de un factor porque a la variable independiente se le conoce como factor.
Usamos esta técnica cuando queremos saber si las medias de una variable son diferentes entre los niveles o grupos de otra variable.
ANOVA de un factor compara las medias de la variable dependiente entre los grupos o categorías de la variable independiente.
Hipótesis Nula: Las medias son iguales
Hipótesis Alternativa:Al menos una media es diferente
¿Cuál es la diferencia entre Prueba T y Prueba Anova?
Evalúa el indice de tolerancia a la corrupción según el grupo de edad
data$grupodeedad=as.factor(data$Dg1x)
data$grupodeedad=factor(data$grupodeedad,
levels = levels(data$grupodeedad),
labels = c("18a24","25a39","mas40"),
ordered = F)
Df Sum Sq Mean Sq F value Pr(>F)
grupodeedad 2 0 0.1071 0.053 0.949
Residuals 1763 3575 2.0276
91 observations deleted due to missingness
Dado que el p-valor es 0.949, entonces a un 95% de nivel de confianza se considera no se rechaza la Hipótesis nula de igualdad de medias.
Evalúa el indice de tolerancia a la corrupción según la macrozona
data$macrozona=as.factor(data$macrozona)
data$macrozona=factor(data$macrozona,
levels=levels(data$macrozona),
labels=c("Lima","Norte","Centro","Sur","Selva"),
ordered=F)
Df Sum Sq Mean Sq F value Pr(>F)
macrozona 4 127 31.66 16.17 5.2e-13 ***
Residuals 1761 3448 1.96
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
91 observations deleted due to missingness
#Al 95% de nivel de confianza, se percibe evidencia que hay diferencia significativa entre los promedios del índice de corrupción según macrozona
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = indicador0a10 ~ macrozona, data = data)
$macrozona
diff lwr upr p adj
Norte-Lima 0.14273283 -0.10700524 0.39247091 0.5230348
Centro-Lima 0.57508908 0.27134175 0.87883641 0.0000026
Sur-Lima -0.17307769 -0.42989729 0.08374190 0.3506656
Selva-Lima 0.55696049 0.25022077 0.86370020 0.0000077
Centro-Norte 0.43235625 0.11355014 0.75116236 0.0020452
Sur-Norte -0.31581053 -0.59027583 -0.04134522 0.0147049
Selva-Norte 0.41422765 0.09256922 0.73588609 0.0040934
Sur-Centro -0.74816677 -1.07255009 -0.42378346 0.0000000
Selva-Centro -0.01812859 -0.38331003 0.34705285 0.9999241
Selva-Sur 0.73003818 0.40285115 1.05722520 0.0000000
Se puede apreciar que hay una diferencia entre los promedios (…)
tabla4=data%>%
dplyr::group_by(macrozona) %>%
dplyr::summarise(Desviacion = sd(indicador0a10, na.rm=T),
Media = mean(indicador0a10, na.rm=T),
min = ciMean(indicador0a10,conf = 0.95, na.rm=T)[1],
max = ciMean(indicador0a10,conf = 0.95, na.rm=T)[2],
n=length(indicador0a10)
)
tabla4
# A tibble: 5 × 6
macrozona Desviacion Media min max n
<fct> <dbl> <dbl> <dbl> <dbl> <int>
1 Lima 1.32 2.30 2.19 2.41 578
2 Norte 1.33 2.44 2.31 2.57 417
3 Centro 1.67 2.87 2.65 3.10 233
4 Sur 1.25 2.13 2.00 2.25 405
5 Selva 1.64 2.86 2.64 3.08 224
ggplot(tabla4,aes(x=macrozona,y=Media))+geom_errorbar(aes(ymin=min,ymax=max))+xlab("Macrozona")+ylab("Tolerancia a la corrupción")+ylim(1,4)