Del ejercicio anterior, ahora vamos a ver la correlación entre variables.

setwd("/cloud/project/Ejercicio R") # Ustedes tienen otra dirección.
suelo=read.table("suelo.txt",header=T) # El archivo de datos "suelo.txt" tiene que estar en su directorio de trabajo
head(suelo)
attach(suelo)

El coeficiente de correlación de Pearson puede interpretarse de la siguiente forma:

tabla_corr

Ahora veamos los resultados de la correlación en nuestros datos de suelo:

cor(suelo) # Por defecto el método corresponde a la correlación lineal de Pearson
##            Cr         Cu          Mg           V         Zn
## Cr  1.0000000 -0.3122045  0.14107310  0.85004292  0.5950243
## Cu -0.3122045  1.0000000 -0.20097470 -0.33007300 -0.2795823
## Mg  0.1410731 -0.2009747  1.00000000 -0.02884742  0.4556550
## V   0.8500429 -0.3300730 -0.02884742  1.00000000  0.2415147
## Zn  0.5950243 -0.2795823  0.45565501  0.24151472  1.0000000
plot(suelo,main="Matriz de correlación") 

De acuerdo a los resultados anteriores, la correlación lineal entre Cr y Zn es moderada, entre Cr y V es muy alta, y entre Mg y Zn es moderada. Las demás relaciones entre las variables son de baja a muy baja.

Entre el Zn y el V la correlación es baja, podría considerarse como variables independientes, pero al parecer el Cr tiene un grado de dependencia con ambas variables.

Probemos un modelo lineal para el Cr.

modelo_Cr=lm(Cr~Zn+V)

summary(modelo_Cr)
## 
## Call:
## lm(formula = Cr ~ Zn + V)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -35.723 -14.407   0.321  12.652  48.581 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -75.75184   18.62390  -4.067 0.000801 ***
## Zn            0.42852    0.08819   4.859 0.000147 ***
## V             1.25049    0.14199   8.807 9.64e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 22.87 on 17 degrees of freedom
## Multiple R-squared:  0.8839, Adjusted R-squared:  0.8702 
## F-statistic: 64.69 on 2 and 17 DF,  p-value: 1.127e-08

El modelo de Cr resultante es:

\(Cr = 0.42852 Zn + 1.25049 V - 75.75184\)

Los resultados del modelo del Cr indican que hay una alta relación entre el Zn y el V. El modelo presenta un alto coeficiente de determinación, especificamente las variables aleatorias Zn y V explican el 87% del modelo.

Podemos observar un comportamiento aproximadamente normal de los residuos del modelo:

qqnorm(residuals(modelo_Cr))
qqline(residuals(modelo_Cr))

boxplot(residuals(modelo_Cr))

hist(residuals(modelo_Cr)) # No es el mejor ejemplo pero puede justificase que son pocos datos. El valor central está cerca de cero.

El comportamiento de los residuos indican heterocedasticidad, es decir un comportamiento desordenado o aleatorio. Es lo ideal.

plot(fitted.values(modelo_Cr),residuals(modelo_Cr))

La correlación entre los valores de Cr estimados por el modelo y los valores reales es alta:

plot(fitted.values(modelo_Cr),Cr)

cor(fitted.values(modelo_Cr),Cr)
## [1] 0.9401425

En conclusión, el modelo lineal de Cr creado con las variables explicativas Zn y V puede considerarse válido para los 20 datos por variable.