Esta es la continuación de la clase anterior
Teniendo los datos anteriores Que se muestran acá
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)
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"))
med_trt = tapply(data$rto,
data$trt,
mean)
med_trt
## S0 sf si sfi
## 2.740161 2.979286 3.155851 3.427611
data2 = data
data2$ rto[1] = med_trt["s0"]
head(data2)
## x y rto mo trt
## 1 1 1 NA 2.399377 S0
## 2 2 1 2.506251 2.404943 S0
## 3 3 1 2.554129 2.397630 S0
## 4 4 1 2.586877 2.379526 S0
## 5 5 1 2.660638 2.410530 S0
## 6 6 1 2.708506 2.392674 S0
Teniendo en cuenta:
Caminos remediales para el atipico
Vamos a imputar:
#Media por tratamiento
med_trt = tapply(data$rto,
data$trt,
mean)
med_trt
## S0 sf si sfi
## 2.740161 2.979286 3.155851 3.427611
data2 = data
data2$ rto[1] = med_trt["s0"]
head(data2)
## x y rto mo trt
## 1 1 1 NA 2.399377 S0
## 2 2 1 2.506251 2.404943 S0
## 3 3 1 2.554129 2.397630 S0
## 4 4 1 2.586877 2.379526 S0
## 5 5 1 2.660638 2.410530 S0
## 6 6 1 2.708506 2.392674 S0
mod3 =aov(rto ~ mo + trt, data2)
summary(mod3)
## Df Sum Sq Mean Sq F value Pr(>F)
## mo 1 6.068 6.068 1144.7 < 2e-16 ***
## trt 3 0.283 0.094 17.8 3.13e-09 ***
## Residuals 94 0.498 0.005
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 1 observation deleted due to missingness
Normalida de residuales para el modelo con dato imputado
shapiro.test(mod3$residuals)
##
## Shapiro-Wilk normality test
##
## data: mod3$residuals
## W = 0.98876, p-value = 0.5729
Igualdad de varianzas para el modelo con el dato imputado
\[\text{bartlett.test(mod3pesosresiduals, data2\textpesostrt)}\]
Cuando se daña el analisis de covarianza
Lo vamos a interpretar graficamente.
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.2
ggplot(data2)+
aes(rto, mo, color=trt)+
geom_point(aes(color=trt),
size=3)+
geom_smooth(aes(color=trt),
linewidth=2,
method = 'lm',
formula = 'y~x',
se=F)+
geom_smooth(method = 'lm',
formula = 'y~x',
se=F,
col="black")
## Warning: Removed 1 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 1 rows containing non-finite values (`stat_smooth()`).
## Warning: Removed 1 rows containing missing values (`geom_point()`).
Vemos que los tratamientos siguen la linea global , usamos el modelo que establece una sola pendiente para todos los tratamientos. Si esto no pasar el supuesto de una sola pendiente no se está cumpliendo y decimos que los resultados que hemos obtenido son cuestionables.
¿COMO SUBIR DATOS A R?
Hacer una tabla en excel con columnas: respuesta, factor, bloque 1 (si tiene cuadrado latino ponemos bloque 2)
Taller