library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.3.3
library(Rmisc)
## Warning: package 'Rmisc' was built under R version 3.3.3
## Loading required package: lattice
## Loading required package: plyr
## Warning: package 'plyr' was built under R version 3.3.3
library(stringr)
load("genero12.Rda")
ggplot(genero12, aes(P19A, colour=SEXO)) + geom_step(stat = "ecdf") +
labs(colour = "Sexo") + xlab("Horas") + ylab("Proporción de casos") +
ggtitle("Horas semanales dedicadas a labores domésticas según \nsexo del entrevistado. Proporción acumulada de casos") + theme_bw()
## Warning: Removed 7 rows containing non-finite values (stat_ecdf).
ggplot(genero12, aes(P19A, colour=SEXO)) + geom_step(stat = "ecdf") +
labs(colour = "Sexo") + xlab("Horas") + ylab("Proporción de casos") +
ggtitle("Horas semanales dedicadas a labores domésticas según \nsexo del entrevistado. Proporción acumulada de casos") + facet_grid(GEDAD~.) +
theme_bw()
## Warning: Removed 7 rows containing non-finite values (stat_ecdf).
ggplot(genero12, aes(P19A, colour=SEXO)) + geom_step(stat = "ecdf") +
labs(colour = "Sexo") + xlab("Horas") + ylab("Proporción de casos") +
ggtitle("Horas semanales dedicadas a labores domésticas según \nsexo del entrevistado. Proporción acumulada de casos") + facet_grid(GEDAD~NSEGrup) +
theme_bw()
## Warning: Removed 7 rows containing non-finite values (stat_ecdf).
res1 <- summarySE(data=genero12, measurevar = "P19A",
groupvars = c("SEXO", "GEDAD"), na.rm=T)
res1
## SEXO GEDAD N P19A sd se ci
## 1 Masculino 18 a 29 203 13.51232 12.67896 0.8898886 1.754662
## 2 Masculino 30 a 44 187 13.70588 14.26531 1.0431827 2.057991
## 3 Masculino 45 a más 197 13.89340 13.65216 0.9726760 1.918254
## 4 Femenino 18 a 29 204 26.57843 20.35761 1.4253177 2.810326
## 5 Femenino 30 a 44 195 33.09744 21.17175 1.5161406 2.990235
## 6 Femenino 45 a más 210 33.91905 21.82199 1.5058602 2.968622
ggplot(res1, aes(x=GEDAD, y=P19A, shape=SEXO)) + geom_point(size=3) +
ylim(0,50) + labs(shape="Sexo") + xlab("Grupos de Edad") + ylab("Horas") +
ggtitle("Promedio de horas semanales dedicadas a labores domésticas\nsegún sexo del entrevistado y grupo de edad") + theme_bw()
res2 <- summarySE(data=genero12, measurevar = "P19A",
groupvars = c("SEXO", "GEDAD", "NSEGrup"), na.rm=T)
res2
## SEXO GEDAD NSEGrup N P19A sd se ci
## 1 Masculino 18 a 29 A/B 49 13.26531 9.551997 1.364571 2.743654
## 2 Masculino 18 a 29 C 72 11.93056 11.240428 1.324697 2.641371
## 3 Masculino 18 a 29 D/E 82 15.04878 15.212813 1.679974 3.342622
## 4 Masculino 30 a 44 A/B 31 14.16129 13.774607 2.473992 5.052566
## 5 Masculino 30 a 44 C 59 13.66102 11.509532 1.498413 2.999400
## 6 Masculino 30 a 44 D/E 97 13.58763 15.964644 1.620964 3.217588
## 7 Masculino 45 a más A/B 44 14.40909 13.090593 1.973481 3.979904
## 8 Masculino 45 a más C 52 12.92308 13.883050 1.925233 3.865066
## 9 Masculino 45 a más D/E 101 14.16832 13.879531 1.381065 2.739994
## 10 Femenino 18 a 29 A/B 46 21.97826 17.237542 2.541537 5.118918
## 11 Femenino 18 a 29 C 60 20.91667 16.242121 2.096849 4.195785
## 12 Femenino 18 a 29 D/E 98 32.20408 22.520533 2.274917 4.515081
## 13 Femenino 30 a 44 A/B 46 27.21739 18.443804 2.719391 5.477134
## 14 Femenino 30 a 44 C 58 33.48276 20.897613 2.743991 5.494747
## 15 Femenino 30 a 44 D/E 91 35.82418 22.231906 2.330537 4.630018
## 16 Femenino 45 a más A/B 46 35.50000 19.713222 2.906556 5.854104
## 17 Femenino 45 a más C 55 31.38182 20.246162 2.729992 5.473304
## 18 Femenino 45 a más D/E 109 34.53211 23.450724 2.246172 4.452303
ggplot(res2, aes(x=GEDAD, y=P19A, shape=SEXO)) + geom_point(size=3) +
ylim(0,50) + labs(shape="Sexo") + xlab("Grupos de Edad") + ylab("Horas") +
ggtitle("Promedio de horas semanales dedicadas a labores domésticas\nsegún sexo del entrevistado y grupo de edad, por nivel socioeconómico") + facet_grid(.~NSEGrup) +
theme_bw()
Primero calculamos la escala de homofobia
p51d <- as.numeric(genero12$P51D)
p51d[p51d==5] <- NA
p51d <- (p51d - 5)*(-1)
p51e <- as.numeric(genero12$P51E)
p51f <- as.numeric(genero12$P51F)
p51g <- as.numeric(genero12$P51G)
p51h <- as.numeric(genero12$P51H)
p51i <- as.numeric(genero12$P51I)
p51j <- as.numeric(genero12$P51J)
p51e[p51e==5] <- NA
p51f[p51f==5] <- NA
p51g[p51g==5] <- NA
p51h[p51h==5] <- NA
p51i[p51i==5] <- NA
p51j[p51j==5] <- NA
p51e <- (p51e - 5)*(-1)
p51f <- (p51f - 5)*(-1)
p51g <- (p51g - 5)*(-1)
p51h <- (p51h - 5)*(-1)
p51i <- (p51i - 5)*(-1)
p51j <- (p51j - 5)*(-1)
p51k <- as.numeric(genero12$P51K)
p51k[p51k==5] <- NA
genero12$homofob <- (((p51d + p51e + p51f + p51g + p51h + p51i + p51j +
p51k)-8)/24)*100
h_sex <- summarySE(genero12, measurevar = "homofob", groupvars = "SEXO", na.rm=T)[, c(1,3)]
h_edad <- summarySE(genero12, measurevar = "homofob", groupvars = "GEDAD", na.rm=T)[, c(1,3)]
h_reg <- summarySE(genero12, measurevar = "homofob", groupvars = "DOMINIO", na.rm=T)[, c(1,3)]
h_nse <- summarySE(genero12, measurevar = "homofob", groupvars = "NSEGrup", na.rm=T)[, c(1,3)]
h_educ <- summarySE(genero12, measurevar = "homofob", groupvars = "P48", na.rm=T)[-11, c(1,3)]
## Warning in qt(conf.interval/2 + 0.5, datac$N - 1): NaNs produced
h_sex$var <- "Sexo"
h_edad$var <- "Edad"
h_educ$var <- "Nivel Educativo"
h_reg$var <- "Dominio"
h_nse$var <- "NSE"
colnames(h_sex) <- c("categ", "homofob", "var")
colnames(h_edad) <- c("categ", "homofob", "var")
colnames(h_educ) <- c("categ", "homofob", "var")
colnames(h_reg) <- c("categ", "homofob", "var")
colnames(h_nse) <- c("categ", "homofob", "var")
sumar_homof <- rbind(h_sex, h_edad, h_educ, h_nse, h_reg)
ggplot(sumar_homof, aes(x=categ, y=homofob)) + geom_point() +
ylab("Escala de homofobia") + ylim(40,60) + xlab("") +
coord_flip() + facet_grid(var ~., scales = 'free', space = 'free') +
ggtitle("Media en la escala de homofobia, según \nvariables sociodemográficas") +
theme_bw()
Los puntos representan un % y la línea da la idea de una progresión
library(plyr)
genero12$gedad3 <- cut(genero12$EDAD, breaks = c(18, 25, 35, 50, 65, 92),
include.lowest = T)
sum3 <- ddply(genero12, .(gedad3), summarize,
All=length(gedad3),
p51d=sum(P51D=="Muy de acuerdo" | P51D=="De acuerdo")/All*100)
sum3
## gedad3 All p51d
## 1 [18,25] 288 20.83333
## 2 (25,35] 283 25.44170
## 3 (35,50] 363 29.20110
## 4 (50,65] 182 33.51648
## 5 (65,92] 87 36.78161
library(ggplot2)
ggplot(sum3, aes(x=gedad3, y=p51d, group=1)) + geom_point(size=3) + geom_line(size=1) +
ylim(0,50) + xlab("Grupos de Edad") + ylab("% de entrevistados") +
ggtitle("Porcentaje de entrevistados que están de acuerdo con la frase:\n''Jamás tendría un amigo homosexual o una amiga lesbiana'',\nsegún grupos de edad") +
theme_bw()
Gráfico de medias de la escala de homofobia según grupos de edad:
Generamos una tabla de estadísticos descriptivos y a partir de ella hacemos el gráfico:
library(Rmisc)
sum4 <- summarySE(genero12, measurevar = "homofob", groupvars = "gedad3", na.rm=T)
sum4
## gedad3 N homofob sd se ci
## 1 [18,25] 236 46.64548 17.51611 1.1402014 2.246322
## 2 (25,35] 222 50.50676 16.60461 1.1144283 2.196267
## 3 (35,50] 269 50.15489 15.77946 0.9620905 1.894217
## 4 (50,65] 139 53.17746 16.82131 1.4267652 2.821148
## 5 (65,92] 65 57.69231 17.75776 2.2025785 4.400156
ggplot(sum4, aes(x=gedad3, y=homofob, group=1)) + geom_point() +
geom_line() + ylim(25,75) + xlab("Grupos de edad") +
ylab("Escala de homofobia") +
ggtitle("Media de la escala de homofobia según grupo de edad \n(0=Nada homofóbico; 100=Muy homofóbico)") +
theme_bw()
Múltiples grupos
sum5 <- summarySE(genero12, measurevar = "homofob",
groupvars = c("gedad3", "NSEGrup"), na.rm=T)
sum5
## gedad3 NSEGrup N homofob sd se ci
## 1 [18,25] A/B 63 38.88889 16.94988 2.135484 4.268772
## 2 [18,25] C 81 46.96502 16.67984 1.853316 3.688216
## 3 [18,25] D/E 92 51.67572 16.87213 1.759041 3.494119
## 4 (25,35] A/B 41 46.64634 15.89952 2.483088 5.018508
## 5 (25,35] C 70 51.66667 14.51026 1.734307 3.459848
## 6 (25,35] D/E 111 51.20120 17.97328 1.705949 3.380790
## 7 (35,50] A/B 54 45.91049 13.18835 1.794707 3.599727
## 8 (35,50] C 73 50.22831 15.66569 1.833531 3.655077
## 9 (35,50] D/E 142 51.73122 16.52751 1.386958 2.741921
## 10 (50,65] A/B 40 48.75000 16.59171 2.623380 5.306287
## 11 (50,65] C 36 53.35648 14.83438 2.472397 5.019234
## 12 (50,65] D/E 63 55.88624 17.67189 2.226448 4.450607
## 13 (65,92] A/B 15 60.27778 16.58213 4.281487 9.182876
## 14 (65,92] C 17 58.33333 12.05816 2.924534 6.199736
## 15 (65,92] D/E 33 56.18687 20.78435 3.618091 7.369810
ggplot(sum5, aes(x=gedad3, y=homofob, shape=NSEGrup,
linetype=NSEGrup, group=NSEGrup)) + geom_point(size=2) +
geom_line() + ylim(25,75) + xlab("Grupos de edad") +
ylab("Escala de homofobia") +
scale_linetype(name="NSE") +
scale_shape_discrete(name="NSE") +
ggtitle("Media de la escala de homofobia según grupo de edad \ny nivel socioeconómico (0=Nada homofóbico; 100=Muy homofóbico)") +
theme_bw()
Primero los datos:
library(foreign)
mundo05 <- read.spss("mundo2005.sav", to.data.frame = T)
## Warning in read.spss("mundo2005.sav", to.data.frame = T): mundo2005.sav:
## Unrecognized record type 7, subtype 18 encountered in system file
names(mundo05)
## [1] "Pais" "Region" "Pob" "tgf_75" "tgf_05"
## [6] "anticonc" "mortInf" "pbi" "evida_masc" "evida_f"
## [11] "alfab_f" "alfab_masc" "matric_fem" "matric_masc" "pea_fem"
## [16] "pea_fem2" "pbiPc05"
ggplot(mundo05, aes(x=matric_fem, y=anticonc, colour=Region)) +
geom_point() + xlab("% de mujeres matriculadas en educ. sec.") +
ylab("% de uso de anticonceptivos") +
ggtitle("Mundo 2005: Uso de anticonceptivos según matrícula femenina en \nsecundaria por país") + theme_bw()
## Warning: Removed 25 rows containing missing values (geom_point).