{"id":190,"date":"2023-10-10T18:45:34","date_gmt":"2023-10-10T18:45:34","guid":{"rendered":"https:\/\/agustincastro.es\/?p=190"},"modified":"2026-01-24T13:23:25","modified_gmt":"2026-01-24T13:23:25","slug":"correlacion-de-pearson","status":"publish","type":"post","link":"https:\/\/agustincastro.es\/index.php\/2023\/10\/10\/correlacion-de-pearson\/","title":{"rendered":"Correlaci\u00f3n (de Pearson)"},"content":{"rendered":"\n<p>\u00bfQu\u00e9 son las correlaciones entre variables? \u00bfC\u00f3mo entenderlas y trabajar con ellas? \u00bfQu\u00e9 informaci\u00f3n nos ofrecen? \u00bfC\u00f3mo calcular \u00e9stas en R? En esta entrada trato el tema de la correlaci\u00f3n, concretamente la lineal, de Pearson.  Vamos a ver unos cuantos ejemplos utilizando funciones espec\u00edficas de distintas librer\u00edas. En entradas posteriores veremos otros ejemplos de c\u00e1lculo de correlaciones no param\u00e9tricas, como la de Spearman, o Kendall (consideradas ambas coeficientes de correlaci\u00f3n de rango). <\/p>\n\n\n\n<p>Puedes consultar el documento en <strong>RPubs [<a href=\"https:\/\/rpubs.com\/acastro\/correlacion_pearson\">aqu\u00ed<\/a>]<\/strong><\/p>\n\n\n\n<p><strong>Librer\u00edas utilizadas. Lenguaje utilizado, R. <\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>library<\/strong>(tidyverse)\n<strong>library<\/strong>(PerformanceAnalytics)\n<strong>library<\/strong>(apaTables)\n<strong>library<\/strong>(psych)\n<strong>library<\/strong>(corrr)\n<strong>library<\/strong>(corrplot)\n<strong>library<\/strong>(palmerpenguins)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Correlaci\u00f3n<\/h3>\n\n\n\n<p><strong>Para examinar si existe relaci\u00f3n entre dos variables aleatorias estudiamos la existencia de&nbsp;correlaci\u00f3n<\/strong>. Las relaciones entre variables pueden ser diversas y, en la&nbsp;<strong>correlaci\u00f3n lineal<\/strong>, medimos concretamente la intensidad de la fuerza de la relaci\u00f3n lineal entre ambas. Cuando los valores de una variable aumentan con los de otra, hablamos de la existencia de <strong>correlaci\u00f3n positiva<\/strong>, o <strong>directa<\/strong>. Por el contrario, si el aumento de una variable resulta en la disminuci\u00f3n de la otra, estar\u00edamos ante una <strong>correlaci\u00f3n negativa<\/strong>, o <strong>inversa<\/strong>. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"640\" height=\"353\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/Correlation_coefficient.png\" alt=\"\" class=\"wp-image-203 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/Correlation_coefficient.png 640w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/Correlation_coefficient-300x165.png 300w\" data-sizes=\"(max-width: 640px) 100vw, 640px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 640px; --smush-placeholder-aspect-ratio: 640\/353;\" \/><\/figure>\n<\/div>\n\n\n<p>Existen coeficientes de correlaci\u00f3n <strong>param\u00e9tricos<\/strong> y no <strong>param\u00e9tricos<\/strong>. El que usemos unos u otros va a depender de que se cumplan, o no, una serie de supuestos en nuestros datos, <strong>siendo los param\u00e9tricos los m\u00e1s estrictos<\/strong> en lo que al cumplimiento de estos requisitos se refiere. En este sentido, es importante entender que <strong>no podemos utilizar cualquier test, o coeficiente, en cualquier situaci\u00f3n<\/strong>. Hay que entender bien cuando estos ofrecer\u00edan resultados v\u00e1lidos o, por el contrario, conclusiones err\u00f3neas. Es m\u00e1s habitual de lo que parece ver conclusiones basadas en resultados de unos an\u00e1lisis dudosos en cuanto a su planteamiento inicial, y desarrollo. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>EL COEFICIENTE DE CORRELACI\u00d3N LINEAL DE PEARSON<\/strong><\/p>\n\n\n\n<p>El coeficiente de correlaci\u00f3n de&nbsp;<strong>PEARSON<\/strong>&nbsp;(<strong>r<\/strong>) es el m\u00e1s utilizado dentro de los param\u00e9tricos. Por otro lado, dentro de los no param\u00e9tricos tenemos los coeficientes de correlaci\u00f3n por rangos de&nbsp;<strong>SPEARMAN<\/strong>&nbsp;y <strong>KENDALL<\/strong> (tambi\u00e9n conocido como Tau de Kendall). <\/p>\n\n\n\n<p>El coeficiente de correlaci\u00f3n de Pearson es una prueba que mide la relaci\u00f3n <strong>LINEAL <\/strong>entre dos variables continuas. Este detalle es muy importante porque <strong>si la relaci\u00f3n entre los elementos no es lineal, el coeficiente no representar\u00e1 adecuadamente<\/strong> <strong>esta relaci\u00f3n<\/strong>. Y es que dos variables pueden estar correlacionadas, y estarlo de una forma no lineal.  <\/p>\n\n\n\n<p>El coeficiente de Pearson mide el grado de aproximaci\u00f3n de los puntos a lo que ser\u00eda una recta que representar\u00eda la correlaci\u00f3n m\u00e1xima pero, <strong>\u00bfQu\u00e9 ocurre si los puntos adoptan una posici\u00f3n dibujando una curva?<\/strong> En estos casos habr\u00eda que utilizar otro tipo de procedimientos, en los que calcular\u00edamos lo que conocemos como \u00edndices de <strong>raz\u00f3n de correlaci\u00f3n<\/strong>. Aqu\u00ed un ejemplo de un ajuste no lineal. Si calcul\u00e1ramos aqu\u00ed el coeficiente de Pearson nos dar\u00eda un valor bajo. Sin embargo, si existe un ajuste de los datos (puntos) a la curva. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img decoding=\"async\" width=\"600\" height=\"498\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-9.png\" alt=\"\" class=\"wp-image-201 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-9.png 600w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-9-300x249.png 300w\" data-sizes=\"(max-width: 600px) 100vw, 600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 600px; --smush-placeholder-aspect-ratio: 600\/498;\" \/><\/figure>\n<\/div>\n\n\n<p><\/p>\n\n\n\n<p><strong>El coeficiente de correlaci\u00f3n de Pearson&nbsp;puede tomar un rango de valores de -1 a +1<\/strong>. Estos valores extremos implicar\u00edan la existencia de una <strong>correlaci\u00f3n perfecta<\/strong> (ajuste perfecto a la recta), algo que, por otro lado, es bastante raro en las ciencias m\u00e1s all\u00e1 de la f\u00edsica. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"855\" height=\"279\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/b1.jpg\" alt=\"\" class=\"wp-image-200 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/b1.jpg 855w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/b1-300x98.jpg 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/b1-768x251.jpg 768w\" data-sizes=\"(max-width: 855px) 100vw, 855px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 855px; --smush-placeholder-aspect-ratio: 855\/279;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Aqu\u00ed un ejemplo sencillo, basado en datos reales. <\/p>\n\n\n\n<p><strong>Estudiamos si existe relaci\u00f3n entre las cantidades de ars\u00e9nico y nitratos medidos en muestras de lluvia \u00e1cida<\/strong> (datos publicados en \u00abThe atmospheric Deposition of Arsenic and Association with Acid Precipitation\u00bb Atmospheric Environ. (1988): 937-943<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nitrato &lt;- c(11, 13, 18, 30, 36, 40, 50, 58, 67, 82, 91, 102)\narsenico &lt;- c(1.1, 0.5, 2.4, 1.2, 2.1, 1.2, 4.0, 2.3, 1.7, 3.7, 3.0, 3.9)\n\nsummary(nitrato)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. \n##   11.00   27.00   45.00   49.83   70.75  102.00<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>summary(arsenico)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. \n##   0.500   1.200   2.200   2.258   3.175   4.000<\/code><\/pre>\n\n\n\n<p>Las correlaci\u00f3n entre las variables <strong>nitrato <\/strong>y <strong>ars\u00e9nico <\/strong>se pueden calcular con la funci\u00f3n&nbsp;<strong>cor<\/strong>. Igualmente podemos realizar un test para estudiar la significaci\u00f3n de esta, con la funci\u00f3n&nbsp;<strong>cor.test<\/strong>. Como veremos tambi\u00e9n, es posible representar gr\u00e1ficamente la relaci\u00f3n entre las variables con&nbsp;<strong>pairs<\/strong>&nbsp;o, con la funci\u00f3n&nbsp;<strong>chart.Correlation<\/strong>&nbsp;de la librer\u00eda de <strong>PerformanceAnalytics<\/strong>. Aqu\u00ed solo detallo algunas de ellas. Hay un mont\u00f3n de paquetes en R para realizar este tipo de c\u00e1lculos y representar matrices de correlaci\u00f3n. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>correlacion &lt;- cor(nitrato, arsenico)\ncor(arsenico, nitrato) <em>#exactamente lo mismo, de una u otra forma<\/em><\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>## &#91;1] 0.7319313<\/code><\/pre>\n\n\n\n<p>Hacemos el test para conocer si hay significaci\u00f3n estad\u00edstica en el valor de <strong>r <\/strong>(correlaci\u00f3n de PEARSON obtenida). El p-valor indica la probabilidad de obtener una correlaci\u00f3n igual o m\u00e1s extrema que la observada en tus datos si la verdadera correlaci\u00f3n entre nitrato y ars\u00e9nico fuera igual a cero. Este p-valor se compara con el nivel de significaci\u00f3n t\u00edpico de 0.05 (o alfa), el umbral m\u00e1s com\u00fanmente utilizado.&nbsp;<strong>Podemos concluir que la correlaci\u00f3n entre nitrato y ars\u00e9nico es significativa. La hip\u00f3tesis nula en este test es que la correlaci\u00f3n entre las variables es igual a 0, es decir, que no existe correlaci\u00f3n<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cor.test(nitrato, arsenico)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>## \n##  Pearson's product-moment correlation\n## \n## data:  nitrato and arsenico\n## t = 3.3969, df = 10, p-value = 0.006807\n## alternative hypothesis: true correlation is not equal to 0\n## 95 percent confidence interval:\n##  0.2724915 0.9195640\n## sample estimates:\n##       cor \n## 0.7319313<\/code><\/pre>\n\n\n\n<p>Gr\u00e1ficamente, con las funciones mencionadas anteriormente:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pairs(nitrato ~ arsenico)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-1024x731.png\" alt=\"\" class=\"wp-image-192 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-1024x731.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-300x214.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-768x549.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image.png 1344w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/731;\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>data &lt;- data.frame(nitrato, arsenico)\nchart.Correlation(data)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-1-1024x731.png\" alt=\"\" class=\"wp-image-191 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-1-1024x731.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-1-300x214.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-1-768x549.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-1.png 1344w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/731;\" \/><\/figure>\n\n\n\n<p>Para saber si realmente es correcto calcular un coeficiente de correlaci\u00f3n de Pearson es necesario asegurarnos de que las variables implicadas tienen una <strong>distribuci\u00f3n normal<\/strong>. Para estudiar la normalidad de los datos utilizaremos el test de&nbsp;<strong>SHAPIRO WILK<\/strong>. <\/p>\n\n\n\n<p>En una prueba de Shapiro-Wilk<strong> la hip\u00f3tesis nula (H0) es que los datos siguen una distribuci\u00f3n normal<\/strong>, es decir, <em>que no hay evidencia suficiente para concluir que los datos no siguen una distribuci\u00f3n normal<\/em>. La <strong>hip\u00f3tesis alternativa (H1) ser\u00eda que los datos no siguen una distribuci\u00f3n normal<\/strong>. <\/p>\n\n\n\n<p>Si el <strong>p-value<\/strong> (p-valor en castellano) es menor que un nivel de significancia predefinido (generalmente <strong>0.05<\/strong> o <strong>0.01<\/strong>),<strong> se rechaza la hip\u00f3tesis nula<\/strong>. As\u00ed, <strong>si el p-value es muy peque\u00f1o, se concluye que hay evidencia suficiente para afirmar que los datos no siguen una distribuci\u00f3n normal<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>shapiro.test(nitrato)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>## \n##  Shapiro-Wilk normality test\n## \n## data:  nitrato\n## W = 0.94465, p-value = 0.5605<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>shapiro.test(arsenico)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>## \n##  Shapiro-Wilk normality test\n## \n## data:  arsenico\n## W = 0.93354, p-value = 0.4191<\/code><\/pre>\n\n\n\n<p>A partir de&nbsp;<strong>r<\/strong>&nbsp;podemos tambi\u00e9n calcular lo que llamamos,&nbsp;<strong>COEFICIENTE DE DETERMINACI\u00d3N R^2<\/strong>. Este nos servir\u00e1 para conocer el <strong>% de variaci\u00f3n de una variable que es explicado por la otra<\/strong>. En este caso es tan sencillo como <strong>elevar al cuadrado&nbsp;r<\/strong>. As\u00ed, el 53,6% de la variaci\u00f3n de la cantidad que podemos encontrar de ars\u00e9nico en la lluvia \u00e1cida est\u00e1 relacionada con la presencia tambi\u00e9n de ars\u00e9nico. ATENCI\u00d3N, esto no quiere decir para nada que la <strong>causa <\/strong>de la presencia de ars\u00e9nico en la muestra se deba a que est\u00e9 presente el nitrato. Aprendeos bien eso de que <strong>la correlaci\u00f3n no implica causalidad<\/strong>. La causalidad habr\u00eda que estudiarla aparte, en detalle y con el dise\u00f1o experimental necesario para poder alcanzar conclusiones de ese estilo. <\/p>\n\n\n\n<p><strong>C\u00e1lculo del coeficiente de determinaci\u00f3n<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>correlacion ^ 2 * 100<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>## &#91;1] 53.57 %<\/code><\/pre>\n\n\n\n<p>Trabajando con la librer\u00eda de <strong>Palmer Penguins<\/strong>. La librer\u00eda \u00abpalmerpenguins\u00bb es una librer\u00eda de datos en R que contiene informaci\u00f3n biom\u00e9trica sobre ping\u00fcinos. Esta librer\u00eda es \u00fatil para fines educativos y de pr\u00e1ctica en an\u00e1lisis de datos y visualizaci\u00f3n en R, por lo que es conocida por mucha gente. Proporciona datos sobre <strong>diferentes especies de ping\u00fcinos<\/strong>, incluyendo su <strong>tama\u00f1o<\/strong>, <strong>peso <\/strong>y <strong>otras caracter\u00edsticas<\/strong> (por ejemplo, longitud del pico). <\/p>\n\n\n\n<p>Miramos los <em>data <\/em>que hay en la librer\u00eda y cargamos el <strong>dataset <\/strong>que se llama&nbsp;<strong>penguins<\/strong>. Como vamos a hacer ahora una <strong>matriz de correlaci\u00f3n<\/strong>, sobran todas las columnas que tienen variables no num\u00e9ricas (eliminamos las columnas 1, 2 y 7, que se refieren a los nombres de las especies \u00abspecies\u00bb, nombres de las islas en las que se encuentran \u00abisland\u00bb y, el sexo de los animales \u00absex\u00bb. As\u00ed, creamos un nuevo dataset (se llama en R, <strong>data frame<\/strong>) al que le ponemos el nombre de <strong>df_noNA<\/strong> y que est\u00e1 formado por los casos completos (que no tengan <strong>NA<\/strong>). Por \u00faltimo, creamos la matriz de correlaci\u00f3n con la funci\u00f3n&nbsp;<strong>cor<\/strong>.<\/p>\n\n\n\n<p><strong>\u00bfQue son los NA? <\/strong>En el contexto de la gesti\u00f3n de datos, \u00ab<strong>NA<\/strong>\u00bb significa \u00ab<strong>Not Available<\/strong>\u00bb o \u00ab<strong>Not Applicable<\/strong>\u00ab, y se utiliza para representar valores faltantes o ausentes en un conjunto de datos. En una buena parte de an\u00e1lisis es necesario \u00abeliminar\u00bb previamente estos (dicho sin entrar mucho en este tema, que es bastante complejo).  <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>data(package = \"palmerpenguins\")\ndata(penguins)\ncolnames(penguins)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>## &#91;1] \"species\"           \"island\"            \"bill_length_mm\"   \n## &#91;4] \"bill_depth_mm\"     \"flipper_length_mm\" \"body_mass_g\"      \n## &#91;7] \"sex\"               \"year\"<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>df &lt;- penguins&#91;, -c(1, 2, 7)]\ndf_noNA &lt;- df&#91;complete.cases(df), ]\n\nmatrix_cor &lt;- cor(df_noNA, method = \"pearson\")\nmatrix_cor_tres_decimales &lt;- round(matrix_cor, digits = 3)\n\nmatrix_cor_tres_decimales<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>##                   bill_length_mm bill_depth_mm flipper_length_mm body_mass_g\n## bill_length_mm             1.000        -0.235             0.656       0.595\n## bill_depth_mm             -0.235         1.000            -0.584      -0.472\n## flipper_length_mm          0.656        -0.584             1.000       0.871\n## body_mass_g                0.595        -0.472             0.871       1.000\n## year                       0.055        -0.060             0.170       0.042\n##                     year\n## bill_length_mm     0.055\n## bill_depth_mm     -0.060\n## flipper_length_mm  0.170\n## body_mass_g        0.042\n## year               1.000<\/code><\/pre>\n\n\n\n<p>Utilizando la librer\u00eda&nbsp;<strong>apaTables<\/strong>&nbsp;para crear una tabla de correlaciones en detalle. Esta funci\u00f3n&nbsp;<strong>apa.cor.table<\/strong>&nbsp;permite crear autom\u00e1ticamente una tabla de correlaciones entre las variables y, <strong>grabarla en un documento .doc<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apa.cor.table(df_noNA, filename = \"prueba.doc\", table.number = 1, show.conf.interval = TRUE, landscape = TRUE)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>## \n## \n## Table 1 \n## \n## Means, standard deviations, and correlations with confidence intervals\n##  \n## \n##   Variable             M       SD     1            2            3         \n##   1. bill_length_mm    43.92   5.46                                       \n##                                                                           \n##   2. bill_depth_mm     17.15   1.97   -.24**                              \n##                                       &#91;-.33, -.13]                        \n##                                                                           \n##   3. flipper_length_mm 200.92  14.06  .66**        -.58**                 \n##                                       &#91;.59, .71]   &#91;-.65, -.51]           \n##                                                                           \n##   4. body_mass_g       4201.75 801.95 .60**        -.47**       .87**     \n##                                       &#91;.52, .66]   &#91;-.55, -.39] &#91;.84, .89]\n##                                                                           \n##   5. year              2008.03 0.82   .05          -.06         .17**     \n##                                       &#91;-.05, .16]  &#91;-.17, .05]  &#91;.06, .27]\n##                                                                           \n##   4          \n##              \n##              \n##              \n##              \n##              \n##              \n##              \n##              \n##              \n##              \n##              \n##   .04        \n##   &#91;-.06, .15]\n##              \n## \n## Note. M and SD are used to represent mean and standard deviation, respectively.\n## Values in square brackets indicate the 95% confidence interval.\n## The confidence interval is a plausible range of population correlations \n## that could have caused the sample correlation (Cumming, 2014).\n##  * indicates p &lt; .05. ** indicates p &lt; .01.\n## <\/code><\/pre>\n\n\n\n<p>Tambi\u00e9n, de la librer\u00eda&nbsp;<strong>psych<\/strong>&nbsp;podemos utilizar la funci\u00f3n&nbsp;<strong>pairs.panels<\/strong>&nbsp;para crear este tipo de gr\u00e1ficos en el que se resumen las correlaciones entre las variables, se indican si son significativas, se muestran sus distribuciones, etc.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pairs.panels(df_noNA, pch = 20, stars = TRUE, main = \"Palmer Penguins\")<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-2-1024x731.png\" alt=\"\" class=\"wp-image-193 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-2-1024x731.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-2-300x214.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-2-768x549.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-2.png 1344w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/731;\" \/><\/figure>\n\n\n\n<p><strong>Algunos gr\u00e1ficos, algo m\u00e1s extra\u00f1os<\/strong> &#8230; <\/p>\n\n\n\n<p>Podemos crear una&nbsp;<strong>red de correlaciones<\/strong>&nbsp;con la funciones&nbsp;<strong>correlate &amp; network plot<\/strong>&nbsp;de la librer\u00eda&nbsp;<strong>corrr<\/strong>, en la que vemos las relaciones que hay entre unas variables y otras (en rojo las relaciones negativas y en azul las positivas)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>df_noNA %&gt;% \n  correlate() %&gt;% \n  network_plot()<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>## Correlation computed with\n## \u2022 Method: 'pearson'\n## \u2022 Missing treated using: 'pairwise.complete.obs'<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-4-1024x731.png\" alt=\"\" class=\"wp-image-195 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-4-1024x731.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-4-300x214.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-4-768x549.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-4.png 1344w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/731;\" \/><\/figure>\n\n\n\n<p><strong>CORRPLOT<\/strong><\/p>\n\n\n\n<p>Corrplot es una de las funciones m\u00e1s conocidas a la hora de representar gr\u00e1ficamente las relaciones entre variables. Visualmente resulta bastante \u00fatil y permite personalizar el resultado final hasta un punto m\u00e1s que suficiente. En este ejemplo se calcula una matriz de correlaci\u00f3n con la funci\u00f3n&nbsp;<strong>corrplot<\/strong>. En ella se muestran las <strong>correlaciones positivas en color azul<\/strong>, <strong>con un c\u00edrculo de mayor tama\u00f1o conforme m\u00e1s grande es esta correlaci\u00f3n<\/strong>. <strong>En rojo, las correlaciones negativas<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>corrplot(matrix_cor_tres_decimales)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-6-1024x731.png\" alt=\"\" class=\"wp-image-197 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-6-1024x731.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-6-300x214.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-6-768x549.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-6.png 1344w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/731;\" \/><\/figure>\n\n\n\n<p><strong>Modificando y a\u00f1adiendo par\u00e1metros para personalizar el resultado<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ncorrplot(matrix_cor_tres_decimales, method = \"shade\", shade.col = NA, tl.col = \"black\", tl.srt = 45)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-3-1024x731.png\" alt=\"\" class=\"wp-image-194 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-3-1024x731.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-3-300x214.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-3-768x549.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-3.png 1344w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/731;\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>\n\ncorrplot(matrix_cor_tres_decimales, method = \"shade\", shade.col = NA, tl.col = \"black\", addCoef.col = \"black\", tl.srt = 45, order = \"AOE\")<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-7-1024x731.png\" alt=\"\" class=\"wp-image-198 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-7-1024x731.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-7-300x214.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-7-768x549.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-7.png 1344w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/731;\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>\n\ncorrplot(matrix_cor_tres_decimales, insig = \"p-value\", sig.level = 0.05,\n         method = \"shade\", shade.col = NA, tl.col = \"black\",\n         addCoef.col = \"black\", tl.srt = 45,\n         order = \"AOE\", type = \"lower\", diag = FALSE, addshade = \"all\")      <\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-8-1024x731.png\" alt=\"\" class=\"wp-image-199 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-8-1024x731.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-8-300x214.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-8-768x549.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-8.png 1344w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/731;\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Por \u00faltimo, y algo m\u00e1s complejo, un ejemplo con el dataset de&nbsp;<strong>mtcars<\/strong>, y las diversas opciones de&nbsp;<strong>corrplot<\/strong>. Utilizando la funci\u00f3n&nbsp;<strong>cor.mtest<\/strong>&nbsp;es posible calcular los valores de significaci\u00f3n de las correlaciones seg\u00fan el nivel de confianza que le indiquemos (en este caso 0.95). Crear\u00e1 una columna llamada&nbsp;<strong>p<\/strong>&nbsp;con estos valores. Luego en&nbsp;<strong>corrplot<\/strong>&nbsp;es posible a\u00f1adir los par\u00e1metros <strong>p.mat<\/strong> y <strong>sig.level<\/strong> para que se marquen como \u00abtachadas\u00bb las correlaciones que no son significativas.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>data(mtcars)\n\nmtcars.cor &lt;- cor(mtcars)\nmtcars.sig &lt;- cor.mtest(mtcars, conf.level = 0.95)\n\ncorrplot(mtcars.cor, p.mat = mtcars.sig$p, sig.level = 0.05, method = \"color\", order = \"hclust\", type = \"lower\", diag = FALSE, addCoef.col = \"black\", number.cex = 0.6)<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"731\" data-src=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-5-1024x731.png\" alt=\"\" class=\"wp-image-196 lazyload\" data-srcset=\"https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-5-1024x731.png 1024w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-5-300x214.png 300w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-5-768x549.png 768w, https:\/\/agustincastro.es\/wp-content\/uploads\/2023\/10\/image-5.png 1344w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/731;\" \/><\/figure>\n\n\n\n<p>end of file&#8230; <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfQu\u00e9 son las correlaciones entre variables? \u00bfC\u00f3mo entenderlas y trabajar con ellas? \u00bfQu\u00e9 informaci\u00f3n nos ofrecen? \u00bfC\u00f3mo calcular \u00e9stas en R? En esta entrada trato el tema de la correlaci\u00f3n, concretamente la lineal, de Pearson. Vamos a ver unos cuantos ejemplos utilizando funciones espec\u00edficas de distintas librer\u00edas. En entradas posteriores veremos otros ejemplos de c\u00e1lculo [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":330,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,5],"tags":[],"class_list":["post-190","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-r","category-tecnica-y-practica"],"_links":{"self":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/comments?post=190"}],"version-history":[{"count":5,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/190\/revisions"}],"predecessor-version":[{"id":463,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/posts\/190\/revisions\/463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/media\/330"}],"wp:attachment":[{"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/media?parent=190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/categories?post=190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agustincastro.es\/index.php\/wp-json\/wp\/v2\/tags?post=190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}