Los datos

Los datos que aparecen en el fichero hayas.csv se refieren a un estudio realizado sobre desarrollo sostenible de la producción de hayas (Fagus sylvatica) en 86 parcelas de Navarra, parte de los cuales aparecen en la tabla. Sobre cada parcela se han medido las siguientes variables:

Ejercicio 1

Descarga de los datos.

  • Selecciona la carpeta de trabajo adecuada para esta sesión con R.
  • Descarga el fichero y guárdalo en la subcarpeta datos de tu carpeta de trabajo**.
  • Explora el fichero con un editor de texto como el Bloc de Notas.
  • Lee ese fichero con R, usando el comando read.table y guárdalo en un data.frame con el nombre laketrout.
  • Comprueba que la lectura ha sido correcta.

Ejercicio 2

Representa la variable Volumen en función de la variable Diametromedio.

a primera vista:

  • Arriba, a la izquierda, aparece un dato atípico, que procedemos a eliminar
(atipico = which(datos$Volumen>600 & datos$Diametromedio<12))
## [1] 34
datos = datos[-atipico, ]
  • La nube de puntos se parece más a una una curva logarítmica que a una recta. Es decir, buscamos b0 y b1 tales que \[Volumen = b0+b1*\log(Diametromedio)\]

Si defines una nueva variable, llamemosla \(z=\log(Diametromedio)\) la expresión anterior es la de una recta \[Volumen = b0+b1*z\] Esto sugiere trabajar con la nueva variable z = log(Diametromedio) en lugar de con Diametromedio. De hecho, si representas Volumen en función de z = log(Diametromedio).

Se observa que los datos aparecen mejor alineados. Puedes comprobar que el coeficiente de correlación es ligeramente mejor cuando usas el logaritmo:

modelo = lm(datos$Volumen ~ datos$Diametromedio)
modeloLn = lm(datos$Volumen ~ log(datos$Diametromedio))
signif(sqrt(summary(modelo)$r.squared), digits = 2)
## [1] 0.84
signif(sqrt(summary(modeloLn)$r.squared), digits = 2)
## [1] 0.87

De modo que es preferible usar modeloLn.

Ejercicio 3

Estima el valor de volumen para Diametromedio=50. Com usaremos la expresión

\[Volumen = -537+12.6*\ln(Diametromedio)\]

hay que sustituir en la expresión anterior el logaritmo de Diametromedio=50

(valor = signif(modeloLn$coefficients[1]+ log(50)*modeloLn$coefficients[2],  digits= 3))
## (Intercept) 
##         542

Podemos visualizar el resultado

par(mfrow = c(1,2))
plot(log(datos$Diametromedio), datos$Volumen)
abline(modeloLn, col = "blue", lwd = 3)
points(log(50), valor, col = "red", pch = 19, cex = 2)

plot(datos$Diametromedio, datos$Volumen)
par(new = TRUE)
D = seq(min(datos$Diametromedio), max(datos$Diametromedio), length.out = 1000)
V =  modeloLn$coefficients[1]+ log(D)*modeloLn$coefficients[2]
plot(D, V, 
     xlim = c(min(datos$Diametromedio), max(datos$Diametromedio)), 
     ylim =c(min(datos$Volumen), max(datos$Volumen)),
     pch = 19, cex = .3, col = "black", xlab="", ylab = "")
points(50, valor, col = "red", pch = 19, cex = 2)

par(mfrow = c(1,1))