{"id":138,"date":"2017-05-15T22:48:29","date_gmt":"2017-05-15T22:48:29","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/casaresfelix\/?p=138"},"modified":"2017-05-16T00:45:22","modified_gmt":"2017-05-16T00:45:22","slug":"como-hacer-una-tabla-cruzada-con-rstudio","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/casaresfelix\/2017\/05\/15\/como-hacer-una-tabla-cruzada-con-rstudio\/","title":{"rendered":"\u00bfC\u00f3mo hacer una tabla cruzada con RStudio?"},"content":{"rendered":"<p style=\"text-align: justify\">Elaborar una tabla cruzada es sumamente sencillo en RStudio, si tienes un peque\u00f1o tutorial como este.<!--more--><\/p>\n<p style=\"text-align: justify\">En el presente post les explicar\u00e9 c\u00f3mo no solo a construir una tabla cruzada, tambi\u00e9n a calcular las 3 probabilidades que se pueden obtener de esta y una peque\u00f1a introducci\u00f3n al <a href=\"http:\/\/www.betametrica.ec\/cursos\/manejo-bases-datos-principante\/\">manejo de bases de datos con dplyr<\/a>, curso que est\u00e1 disponible en la plataforma virtual de BETAM\u00c9TRICA y que es de mi autor\u00eda.<\/p>\n<p style=\"text-align: justify\">Let the script begin!<\/p>\n<p style=\"text-align: justify\">Lo primero que tenemos que hacer es descargarnos la base de datos con la que voy a realizar este ejemplo aqu\u00ed, colocarla en alguna carpeta de su gusto en su computador.<\/p>\n<p style=\"text-align: justify\">Una vez descargada la base de datos, tenemos que instalar las siguientes librer\u00edas en RStudio, una por una:<\/p>\n<blockquote><p>install.packages(\"openxlsx\")<br \/>\ninstall.packages(\"gmodels\")<br \/>\ninstall.packages(\"dplyr\")<\/p><\/blockquote>\n<p style=\"text-align: justify\">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\u00e9 una base de datos \u00a0de la Superintendencia de Bancos del Ecuador; base bastante grande (m\u00e1s de 67 mil datos con 12 variables).<\/p>\n<p style=\"text-align: justify\">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:<\/p>\n<blockquote><p>setwd(\"C:\\\\Users\\\\JUANITO\\\\Desktop\\\\Document\\\\ejemplo tabla cruzada\")<\/p><\/blockquote>\n<p style=\"text-align: justify\">Note que el directorio es la carpeta donde se encuentra el archivo y tiene doble\u00a0\\\\.<\/p>\n<p style=\"text-align: justify\">Luego el siguiente paso es cargar la base de excel a RStudio con los siguientes comandos:<\/p>\n<blockquote><p>\ndata_banco &lt;- read.xlsx(xlsxFile = 'DEP_2016_BP.xlsx',<br \/>\ndetectDates = T)<\/p><\/blockquote>\n<p style=\"text-align: justify\">Note que la funci\u00f3n que utiliza RStudio mediante la librer\u00eda 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\u00e1pido).<\/p>\n<p style=\"text-align: justify\">El siguiente paso tiene que ver con la manipulaci\u00f3n de la base de datos; uno de los pasos m\u00e1s importantes y el que m\u00e1s me gusta porque la librer\u00eda dplyr es sumamente sencilla de entender: filter, select, group-by, etc., son los comandos m\u00e1s sencillos e intuitivos.<\/p>\n<blockquote><p>\u00a0data %&gt;%<br \/>\nfilter(FECHA==\"2016-01-31\",<br \/>\n( TIPO.DE.DEPOSITO==\"De 1 a 30 d\u00edas\" |<br \/>\nTIPO.DE.DEPOSITO==\"De 31 a 90 d\u00edas\" |<br \/>\nTIPO.DE.DEPOSITO==\"De 181 a 360 d\u00edas\"|<br \/>\nTIPO.DE.DEPOSITO==\"De m\u00e1s de 361 d\u00edas\"))<br \/>\ntable(data$TIPO.DE.DEPOSITO)<\/p><\/blockquote>\n<p style=\"text-align: justify\">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\u00f3sito es de 1 a 30 d\u00edas, o de 31 a 90 d\u00edas (...), donde \"|\" coresponde al operador l\u00f3gico 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\u00f3sito.<\/p>\n<p style=\"text-align: justify\">Construyendo la tabla.-<\/p>\n<p style=\"text-align: justify\">Una vez que hemos filtrado la informaci\u00f3n seg\u00fan nuestro inter\u00e9s, la construcci\u00f3n de la tabla es sencilla:<\/p>\n<blockquote><p>\u00a0ct &lt;- CrossTable(data$TIPO.DE.DEPOSITO,<br \/>\ndata$REGION,<br \/>\nprop.test=FALSE, prop.r=TRUE,<br \/>\nprop.chisq=FALSE, useNA=\"no\")<\/p><\/blockquote>\n<p style=\"text-align: justify\"><em><strong>Estos son los resultados:<\/strong><\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-139\" src=\"http:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1.png\" alt=\"\" width=\"1210\" height=\"771\" srcset=\"https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1.png 1210w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1-300x191.png 300w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1-768x489.png 768w, https:\/\/blog.espol.edu.ec\/casaresfelix\/files\/2017\/05\/Imagen1-1024x652.png 1024w\" sizes=\"auto, (max-width: 1210px) 100vw, 1210px\" \/><\/p>\n<p style=\"text-align: justify\">Una tabla de contingencia o cruzada\u00a0usted puede calcular r\u00e1pidamente 3 tipos de probabilidades, es decir, puede contestar 3 tipos de preguntas que pueden ser similares pero son distintas estad\u00edsticamente, veamos:<\/p>\n<p style=\"text-align: justify\"><span style=\"text-decoration: underline\"><strong>Probabilidad marginal.<\/strong><\/span>-<\/p>\n<p style=\"text-align: justify\">Es la probabilidad de los m\u00e1rgenes de la tabla, por ejemplo: \u00bfCu\u00e1l es la probabilidad de que el dep\u00f3sito provenga de la regi\u00f3n COSTA?<\/p>\n<p style=\"text-align: justify\">762\/1569=0.486<\/p>\n<p style=\"text-align: justify\">\u00bfCu\u00e1l es la probabilidad de que el dep\u00f3sito provenga de la SIERRA ?<\/p>\n<p style=\"text-align: justify\">697\/1596=0.444<\/p>\n<p style=\"text-align: justify\">De la misma forma para la regi\u00f3n horizontal, por lo que facilmente se puede entender que la probabilidad marginal se trata de los posibles \/ totales; definici\u00f3n b\u00e1sico de probabilidad.<\/p>\n<p style=\"text-align: justify\"><span style=\"text-decoration: underline\"><strong>Probabilidad conjunta.-<\/strong><\/span><\/p>\n<p style=\"text-align: justify\">Se la conoce como la intersecci\u00f3n de la tabla, e intenta explicar dos fen\u00f3menos a la vez, por ejemplo: \u00bfCu\u00e1l es la probabilidad de que\u00a0el dep\u00f3sito sea de 1 a 30 d\u00edas y que provenga de la COSTA?<\/p>\n<p style=\"text-align: justify\">198\/1569=0.126<\/p>\n<p style=\"text-align: justify\">\u00bfCu\u00e1l es la probabilidad de que el dep\u00f3sito sea de 31 a 90 d\u00edas y que sea del AMAZONAS?<\/p>\n<p style=\"text-align: justify\">27\/1569=0.012<\/p>\n<p style=\"text-align: justify\">As\u00ed, se puede apreciar que la probabilidad conjunta es la intersecci\u00f3n de los eventos sobre el total de los eventos<\/p>\n<p style=\"text-align: justify\"><span style=\"text-decoration: underline\"><strong>Probabilidad condicional.-<\/strong><\/span><\/p>\n<p style=\"text-align: justify\">Esta probabilidad intenta explicar la probabilidad de que suceda un evento, dado que otro evento ya sucedi\u00f3, por esta raz\u00f3n se llama condicional o condicionada a, y se define as\u00ed:<\/p>\n<p style=\"text-align: center\">PROBABILIDAD CONDICIONAL= p(a|b) = p(a inter b) \/ p(b)<\/p>\n<p style=\"text-align: justify\">y se lee as\u00ed: dado que sucedi\u00f3 b, cu\u00e1l es la probabilidad de que suceda a.<\/p>\n<p style=\"text-align: justify\">Dado que el dep\u00f3sito sea de 1 \u00a0a 30 d\u00edas, \u00bfcu\u00e1l es la probabilidad de que provenga de la regi\u00f3n INSULAR?<\/p>\n<p style=\"text-align: justify\">3\/410=0.007<\/p>\n<p style=\"text-align: justify\">Dado que el dep\u00f3sito sea de 31 \u00a0a 90 d\u00edas, \u00bfcu\u00e1l es la probabilidad de que provenga de la regi\u00f3n SIERRA?<\/p>\n<p style=\"text-align: justify\">183\/414=0.442<\/p>\n<p style=\"text-align: justify\">Una vez que comprenda las tres probabilidades, puede realizar cualquier pregunta a la tabla que construya; vi\u00e9ndolo en t\u00e9rminos generales, lo que hace esta tabla es resumir la informaci\u00f3n en t\u00e9rminos de conteo de datos\u00a0y con esto se apoya en la corriente frecuentista.<\/p>\n<p style=\"text-align: justify\">Si usted construye tablas cruzadas para resumir la informaci\u00f3n, ahora puede utilizar estas probabilidades para contestar preguntas interesantes y automatizar el c\u00e1lculo con RStudio.<\/p>\n<p style=\"text-align: justify\">Puedes seguir mis publicaciones v\u00eda:<\/p>\n<p><a href=\"https:\/\/twitter.com\/CasaresFelix\">Twitter<\/a><\/p>\n<p><a href=\"https:\/\/www.facebook.com\/CasaresFelix\">Facebook<\/a><\/p>\n<p><a href=\"http:\/\/blog.espol.edu.ec\/casaresfelix\">Twitter<\/a><\/p>\n<p><a href=\"http:\/\/casaresfelix.com\">Blog Personal<\/a><\/p>\n<p><a href=\"http:\/\/www.betametrica.ec\/\">Blog Acad\u00e9mico<\/a><\/p>\n<hr \/>\n<p>Nota: puedes solicitarme el script de RStudio para este ejemplo mediante cualquier\u00a0de las v\u00eda de contacto anteriormente mencionadas o por correo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Elaborar una tabla cruzada es sumamente sencillo en RStudio, si tienes un peque\u00f1o tutorial como este.<\/p>\n","protected":false},"author":10866,"featured_media":139,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1688],"tags":[1418604,1418602,1418603,1418601],"class_list":["post-138","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-estadistica","tag-probabilidades-con-tablas-cruzadas","tag-tabla-cruzada","tag-tabla-cruzada-con-r","tag-tabla-de-contingencia"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/posts\/138","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/users\/10866"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/comments?post=138"}],"version-history":[{"count":4,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/posts\/138\/revisions"}],"predecessor-version":[{"id":148,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/posts\/138\/revisions\/148"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/media\/139"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/media?parent=138"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/categories?post=138"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/casaresfelix\/wp-json\/wp\/v2\/tags?post=138"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}