set.seed(123)
data = expand.grid(x=1:10, y=1:10)
data$rto = rnorm(100, 3, 0.3)
data$rto = sort(data$rto) + runif(100, 0, 0.1)
data$mo = rnorm(100, 2.5, 0.1)
data$mo = sort(data$mo) + runif(100, 0, 0.1)
library(ggplot2)
g1 = ggplot(data)+
  aes(x,y, fill=rto)+
  geom_tile()

g2 = ggplot(data)+
  aes(x,y, fill=mo)+
  geom_tile()

gridExtra::grid.arrange(g1, g2, nrow=1)

#Analisis de regresión lineal

plot(x=data$mo, y = data$rto,pch=16)

Modelo Objetivo:

\[\hat{y} = \beta_0 + \beta_1x\]

mod1= lm(rto ~ mo, data)
summary(mod1)

plot(data$mo, data$rto, pch=16)
abline (mod1, col='purple', lwd=3)

\[\hat{RTO} = -3.48 + 2.57MO\] ##Revisión de Supuestos del modelo

#Normalidad
##Se esperan que los residuos tenga comportamiento normal
shapiro.test(mod1$residuals)

#Homocedasticidad
plot(mod1$residuals, pch=16)

##Analisis de Covarianza Factorial simple compleramente al Azar (FSCA)

set.seed(123)
data = expand.grid(x=1:10, y=1:10)
data$rto = rnorm(100, 3, 0.3)
data$rto = sort(data$rto) + runif(100, 0, 0.1)
data$mo = rnorm(100, 2.5, 0.1)
data$mo = sort(data$mo) + runif(100, 0, 0.1)
data$trt= gl(4, 25, 100,
             c('s0', 'sf', 'si', 'sfi'))
data

Modelo

\[y_{ij} = \mu + \tau_i + \theta(x_{ij}-\bar{x}) + \epsilon_{ij}\] Hipotesis 1 \[H_0: \theta = 0\] Hipotesis 2 \[H_0: \mu_{s0} = \mu_{sf} = \mu_{sfi}\]

mod2= aov (rto ~ mo + trt, data)
summary(mod2)
boxplot(rto ~ trt, data )

Revisión de Supuestos

#Normalidad
shapiro.test(mod2$residuals)
hist(mod2$residuals)
boxplot(mod2$residuals)
#Revisión de un posible dato atipico
boxplot(rto ~ trt, data, pch = 16)

which.min(data$rto)
data[which.min(data$rto)]

library(outliers)
grubbs.test(mod2$residuals)
#Caminos remediales para el atipico

#1. Imputar
#2. Eliminar
#3. Repetir experimento para esa parcela

#Medida por tratemiento
tapply(data$rto, data$trt, mean)

data2=data
data2$rto[1] = med_trt ['s0']
head(data2)
#De nuevo ANCOVA en el dato atipico imputado
boxplot(rto ~ trt, data2)
mod3 = aov (rto ~ mo + trt, data)
summary(mod3)

#Normalidad residuales con el dato imputado
shapiro.test(mod3$residuals)