set.seed(1249)
# Respuestas
clorofila = rnorm(30, 300, 50)# cada dato representa el promedio de los datos de cada parcela
# clorofila = rnorm(30, 300, 50)
# Factor (tres tratamientos)
densidad = gl(3, 10, 30, c('d1','d2','d3'))
# Bloques: terreno dividido en 10 secciones, cada una de estas tendra cada uno de los tratamientos
bloq = gl(10, 1, 30, paste0('bloq',1:10))
df = data.frame(densidad, bloq, clorofila)
head(df)
## densidad bloq clorofila
## 1 d1 bloq1 219.7305
## 2 d1 bloq2 264.1672
## 3 d1 bloq3 281.1646
## 4 d1 bloq4 350.8318
## 5 d1 bloq5 308.5925
## 6 d1 bloq6 347.6609
bloques completos al azar.
\[ y_{ij}= \mu + \tau_i+\beta_j+\epsilon_{ij}\\ i:1\dots3\\ j:1\dots10\]
library(lattice)
bwplot(clorofila ~ densidad, df,main="valores de clorofila segun el tratamiento aplicado",xlab="Tratamiento aplicado") # boxplot de clorofila respecto a cada valor de densidad
bwplot(clorofila ~ densidad | bloq, df,main="Valores de clorofila segun el tratamiento separado por bloques") # boxplot de clorofila respecto a cada valor de densidad para cada uno de los bloques
Hipotesis \[H_0: \mu_{d1}=\mu_{d2}=\mu_{d3}\] DISEÑO FACTORIAL SIMPLE EN ARREGLO EN BLOQUES COMPLETOS AL AZAR
mod1 = aov(clorofila ~ bloq + densidad, df)
summary(mod1)
## Df Sum Sq Mean Sq F value Pr(>F)
## bloq 9 25083 2787 0.952 0.507
## densidad 2 7945 3973 1.357 0.282
## Residuals 18 52684 2927
*Estadisticamente los tratamientos son diferentes
Revision de supuestos
res_mod1=residuals(mod1)
shapiro.test(res_mod1) #Normalidad de los residuos
##
## Shapiro-Wilk normality test
##
## data: res_mod1
## W = 0.97424, p-value = 0.6605
bartlett.test(clorofila,densidad) # Homogeneidad de varianzas
##
## Bartlett test of homogeneity of variances
##
## data: clorofila and densidad
## Bartlett's K-squared = 0.73732, df = 2, p-value = 0.6917
plot(res_mod1, pch=16)
Dependencia espacial
xy = expand.grid(x=1:3, y=1:10)
plot(xy, col=clorofila, pch=16,xlab="columnas", ylab="filas")
d = as.matrix(dist(xy)) # matriz de distancias de las parcelas
di = 1/d # matriz de los inversos de las distancias
diag(di) = 0 # la distancia de cada parcela con si misma es cero
library(ape)
Moran.I(res_mod1, di) #indice de moran (mide dependencia espacial), aplicar para datos areales, tipo raster
## $observed
## [1] -0.05398053
##
## $expected
## [1] -0.03448276
##
## $sd
## [1] 0.03177785
##
## $p.value
## [1] 0.539503
No existe dependencia espacial entre los bloques