Elaborar una tabla cruzada es sumamente sencillo en RStudio, si tienes un pequeño tutorial como este.

En el presente post les explicaré cómo no solo a construir una tabla cruzada, también a calcular las 3 probabilidades que se pueden obtener de esta y una pequeña introducción al manejo de bases de datos con dplyr, curso que está disponible en la plataforma virtual de BETAMÉTRICA y que es de mi autoría.

Let the script begin!

Lo primero que tenemos que hacer es descargarnos la base de datos con la que voy a realizar este ejemplo aquí, colocarla en alguna carpeta de su gusto en su computador.

Una vez descargada la base de datos, tenemos que instalar las siguientes librerías en RStudio, una por una:

install.packages(«openxlsx»)
install.packages(«gmodels»)
install.packages(«dplyr»)

La primera sirve para cargar bases de excel a R, la segunda para construir las tablas cruzadas o de contingencia, la tercer para manipular bases de datos. En este caso, utilizaré una base de datos  de la Superintendencia de Bancos del Ecuador; base bastante grande (más de 67 mil datos con 12 variables).

Luego de haber seteado el directorio de trabajo con el comando setwd(«mi ruta»), donde mi ruta debe estar definido como la ruta donde se encuentra su archivo, por ejemplo:

setwd(«C:\\Users\\JUANITO\\Desktop\\Document\\ejemplo tabla cruzada»)

Note que el directorio es la carpeta donde se encuentra el archivo y tiene doble \\.

Luego el siguiente paso es cargar la base de excel a RStudio con los siguientes comandos:

data_banco <- read.xlsx(xlsxFile = ‘DEP_2016_BP.xlsx’,
detectDates = T)

Note que la función que utiliza RStudio mediante la librería openxlsx es read.xlsx; adicionalmente, note que estoy colocando un comando que detecta automaticamente las fechas que pueda tener su base de datos, para evitarnos configura ese campo manualmente (recomiendo que lo configuren manualmente, pero esto sirve para un ejemplo rápido).

El siguiente paso tiene que ver con la manipulación de la base de datos; uno de los pasos más importantes y el que más me gusta porque la librería dplyr es sumamente sencilla de entender: filter, select, group-by, etc., son los comandos más sencillos e intuitivos.

 data %>%
filter(FECHA==»2016-01-31″,
( TIPO.DE.DEPOSITO==»De 1 a 30 días» |
TIPO.DE.DEPOSITO==»De 31 a 90 días» |
TIPO.DE.DEPOSITO==»De 181 a 360 días»|
TIPO.DE.DEPOSITO==»De más de 361 días»))
table(data$TIPO.DE.DEPOSITO)

Puede observar que el filtro (filter) que estoy aplicando, selecciona solo las observaciones que corresponden a la fecha «2016-01-31», y que el tipo de depósito es de 1 a 30 días, o de 31 a 90 días (…), donde «|» coresponde al operador lógico or y va a seleccionar o lo uno o lo otro o ambos, por lo que primero selecciono por fecha, Y, luego selecciono por tipo de depósito.

Construyendo la tabla.-

Una vez que hemos filtrado la información según nuestro interés, la construcción de la tabla es sencilla:

 ct <- CrossTable(data$TIPO.DE.DEPOSITO,
data$REGION,
prop.test=FALSE, prop.r=TRUE,
prop.chisq=FALSE, useNA=»no»)

Estos son los resultados:

Una tabla de contingencia o cruzada usted puede calcular rápidamente 3 tipos de probabilidades, es decir, puede contestar 3 tipos de preguntas que pueden ser similares pero son distintas estadísticamente, veamos:

Probabilidad marginal.

Es la probabilidad de los márgenes de la tabla, por ejemplo: ¿Cuál es la probabilidad de que el depósito provenga de la región COSTA?

762/1569=0.486

¿Cuál es la probabilidad de que el depósito provenga de la SIERRA ?

697/1596=0.444

De la misma forma para la región horizontal, por lo que facilmente se puede entender que la probabilidad marginal se trata de los posibles / totales; definición básico de probabilidad.

Probabilidad conjunta.-

Se la conoce como la intersección de la tabla, e intenta explicar dos fenómenos a la vez, por ejemplo: ¿Cuál es la probabilidad de que el depósito sea de 1 a 30 días y que provenga de la COSTA?

198/1569=0.126

¿Cuál es la probabilidad de que el depósito sea de 31 a 90 días y que sea del AMAZONAS?

27/1569=0.012

Así, se puede apreciar que la probabilidad conjunta es la intersección de los eventos sobre el total de los eventos

Probabilidad condicional.-

Esta probabilidad intenta explicar la probabilidad de que suceda un evento, dado que otro evento ya sucedió, por esta razón se llama condicional o condicionada a, y se define así:

PROBABILIDAD CONDICIONAL= p(a|b) = p(a inter b) / p(b)

y se lee así: dado que sucedió b, cuál es la probabilidad de que suceda a.

Dado que el depósito sea de 1  a 30 días, ¿cuál es la probabilidad de que provenga de la región INSULAR?

3/410=0.007

Dado que el depósito sea de 31  a 90 días, ¿cuál es la probabilidad de que provenga de la región SIERRA?

183/414=0.442

Una vez que comprenda las tres probabilidades, puede realizar cualquier pregunta a la tabla que construya; viéndolo en términos generales, lo que hace esta tabla es resumir la información en términos de conteo de datos y con esto se apoya en la corriente frecuentista.

Si usted construye tablas cruzadas para resumir la información, ahora puede utilizar estas probabilidades para contestar preguntas interesantes y automatizar el cálculo con RStudio.

Puedes seguir mis publicaciones vía:

Twitter

Facebook

Twitter

Blog Personal

Blog Académico


Nota: puedes solicitarme el script de RStudio para este ejemplo mediante cualquier de las vía de contacto anteriormente mencionadas o por correo.