¿Cómo hacer tablas de doble entrada en R?

Posted by | · · | Tutorial R | No Comments on ¿Cómo hacer tablas de doble entrada en R?

0
shares
Compartir en Facebook
Twittear
Compartir en Google+
Compartir en LinkedIn
Compartir en Pinterest
+
Trends

Carguemos una base de datos de prueba: En los siguientes tabs puedes elegir entre varias opciones

Bases de Prueba

Data de R. El paquete “datasets” tiene más de 90 bases de datos para trabajar. Revisar

library(help="datasets")

Puedes bajar una base de la ENAHO 2014 (Módulo de Gobernabilidad) desde estos links:
Bloque 1, Bloque 2,Bloque 3
o también el módulo de sumarias (variables cálculadas): Bloque 4

Puedes descargar bases de datos de resultados que INFOGOB pone a disposición desde este link:
INFOGOB

En este caso trabajaremos con el módulo de gobernabilidad de la ENAHO. En un post anterior mostramos como hacer una tabla de frecuencias, puedes revisar el post aquí . Ahora haremos una tabla de doble entrada.

En R

LLamemos la librería que necesitamos


install.packages("foreign") # Recuerda que solo se instala una vez

library(foreign)

Puedes revisar como subir una data en SPSS en este post

setwd("D:/Gobernabilidad_2013")
#Esta es la carpeta en la que estoy trabajando.
data<-read.spss("Enaho01B-2013-1.sav", to.data.frame = TRUE, use.value.labels = TRUE) # #Además de base de datos, le #estamos diciendo al R que las variables con categorías #respete las categorias, caso contrario las subirá como números

Crucemos el nivel de importancia que le dan los peruanos a la democracia con el Dominio de la encuesta.

tabla<-table(data$DOMINIO, data$P6 ) # Con esto ya tenemos la tabla que cruza las dos variables que nos interesa 
tabla
##                     
##                      Nada Importante Poco Importante Importante
##   Costa Norte                     97             316       2601
##   Costa Centro                    66             253       1555
##   Costa Sur                       55             146        806
##   Sierra Norte                    66             181       1209
##   Sierra Centro                  138             512       3250
##   Sierra Sur                     145             471       2448
##   Selva                          165             607       3951
##   Lima Metropolitana              56             196       1238
##                     
##                      Muy importante NO SABE
##   Costa Norte                   700     110
##   Costa Centro                  422      51
##   Costa Sur                     361      52
##   Sierra Norte                  212     176
##   Sierra Centro                 824     841
##   Sierra Sur                    784     361
##   Selva                        1124     309
##   Lima Metropolitana            702      46

Ahora la tabla en porcentajes

prop.table(tabla,2) #El porcentaje es por columna. 
##                     
##                      Nada Importante Poco Importante Importante
##   Costa Norte             0.12309645      0.11782252 0.15247977
##   Costa Centro            0.08375635      0.09433259 0.09115957
##   Costa Sur               0.06979695      0.05443699 0.04725056
##   Sierra Norte            0.08375635      0.06748695 0.07087584
##   Sierra Centro           0.17512690      0.19090231 0.19052644
##   Sierra Sur              0.18401015      0.17561521 0.14351038
##   Selva                   0.20939086      0.22632364 0.23162153
##   Lima Metropolitana      0.07106599      0.07307979 0.07257592
##                     
##                      Muy importante    NO SABE
##   Costa Norte            0.13647885 0.05652621
##   Costa Centro           0.08227725 0.02620761
##   Costa Sur              0.07038409 0.02672148
##   Sierra Norte           0.04133359 0.09044193
##   Sierra Centro          0.16065510 0.43216855
##   Sierra Sur             0.15285631 0.18550874
##   Selva                  0.21914603 0.15878726
##   Lima Metropolitana     0.13686879 0.02363823
prop.table(tabla,1) #El porcentaje por Fila. 
##                     
##                      Nada Importante Poco Importante Importante
##   Costa Norte             0.02536611      0.08263598 0.68017782
##   Costa Centro            0.02812101      0.10779719 0.66254793
##   Costa Sur               0.03873239      0.10281690 0.56760563
##   Sierra Norte            0.03579176      0.09815618 0.65563991
##   Sierra Centro           0.02479784      0.09200359 0.58400719
##   Sierra Sur              0.03444999      0.11190306 0.58161083
##   Selva                   0.02680312      0.09860299 0.64181287
##   Lima Metropolitana      0.02502234      0.08757819 0.55317248
##                     
##                      Muy importante    NO SABE
##   Costa Norte            0.18305439 0.02876569
##   Costa Centro           0.17980401 0.02172987
##   Costa Sur              0.25422535 0.03661972
##   Sierra Norte           0.11496746 0.09544469
##   Sierra Centro          0.14806828 0.15112309
##   Sierra Sur             0.18626752 0.08576859
##   Selva                  0.18258609 0.05019493
##   Lima Metropolitana     0.31367292 0.02055407

Bonus

¿Cómo agregar totales a la tabla?

addmargins(tabla)
##                     
##                      Nada Importante Poco Importante Importante
##   Costa Norte                     97             316       2601
##   Costa Centro                    66             253       1555
##   Costa Sur                       55             146        806
##   Sierra Norte                    66             181       1209
##   Sierra Centro                  138             512       3250
##   Sierra Sur                     145             471       2448
##   Selva                          165             607       3951
##   Lima Metropolitana              56             196       1238
##   Sum                            788            2682      17058
##                     
##                      Muy importante NO SABE   Sum
##   Costa Norte                   700     110  3824
##   Costa Centro                  422      51  2347
##   Costa Sur                     361      52  1420
##   Sierra Norte                  212     176  1844
##   Sierra Centro                 824     841  5565
##   Sierra Sur                    784     361  4209
##   Selva                        1124     309  6156
##   Lima Metropolitana            702      46  2238
##   Sum                          5129    1946 27603

Hasta la próxima

Compartir en Facebook
Twittear
Compartir en Google+
Compartir en LinkedIn
Compartir en Pinterest
+

No Comments

Leave a comment