Codigo - Design of Experiments: Diseno23_07_2024.Rmd

Repaso FSCA con descriptivos, boxplot/violin, ANOVA y prueba de Tukey.

Scripts para diseno experimental

Sesion Diseno23_07_2024 en R (actualizada)

FSCA + supuestos + comparaciones multiples + diseno en bloques.

---
title: "Diseno 23-30/07/2024"
output: html_document
date: '2024-07-30'
---
# Clase de repaso

## Diseno Factorial simple en arreglo completamente al azar (FSCA)
# Factorial simple --> Solo un factor
# Completamente al azar: Aleatorizacion sin restriccion

set.seed(123)
# Factor --> Densidad de siembra
ds = gl(3,12,36,paste0('DS_',c(30,40,50)))
# Respuesta --> Diametro de tallos a 20 cm de altura desde el suelo
diam1 = rnorm(36,mean = 1.8,sd=0.25)
# Se establece o se fija numero de decimales
options(digits = 3)
# Creando diferencia a proposito
diam2 = c(rnorm(12,mean=1.7,sd=0.20),
          rnorm(12,mean=1.72,sd=0.21),
          rnorm(12,mean=1.55,sd=0.22))

datos = data.frame(ds, diam2)
head(datos)

### Analisis descriptivo de nuestros datos
# Medir, tabular y graficar
# Resumen de nuestros datos de diametro
summary(diam2)

# Estadisticas por grupo
library(psych)
psych::describe.by(datos$diam2,datos$ds)

# Sin usar librerias
medias = tapply(datos$diam2, datos$ds, mean)
tapply(datos$diam2, datos$ds, var)
tapply(datos$diam2, datos$ds, min)
tapply(datos$diam2, datos$ds, max)
tapply(datos$diam2, datos$ds, range)
desv = tapply(datos$diam2, datos$ds, sd)

desv/medias
medias

#### Graficacion
# Diagrama de cajas Boxplot
boxplot(datos$diam2~datos$ds,col=c('yellow','cyan','green'))
points(x=c(1,2,3),y=medias,col='red',pch=16,cex=2)

# Diagrama de violin
library(ggplot2)
ggplot(datos, aes(x=ds,y=diam2,fill=ds))+
  geom_boxplot()+
  geom_violin(alpha=0.1)+
  theme_minimal()+
  theme(legend.position='none')

### Analisis Inferencial
#### Prueba de hipotesis
# H_o: mu_30 = mu_40 = mu_50
# H_a: H_o es falsa (por lo menos una es diferente)

#### Modelo de diseno
# Y_ij = mu + tau_i + epsilon_ij

# Analisis de varianza
mod1 = aov(datos$diam2~datos$ds)
summary(mod1)

ifelse(unlist(summary(mod1))[[9]]<0.05,
       'Rechaza Ho','No rechaza Ho')

# Ya sabemos que hay diferencia: quienes son diferentes?
# Prueba de Tukey de comparaciones multiples
tt = TukeyHSD(mod1)
tt

## Normalidad de los residuales (Primer supuesto)
res = mod1$residuals
mean(res)
var(res)

hist(res, breaks = 20)
length(res)

# Prueba de normalidad de Shapiro-Wilk
shapiro.test(res)

## Igualdad de varianzas (Homocedasticidad)
bartlett.test(mod1$residuals,datos$ds)

# Alternativa no parametrica
kruskal.test(diam2~ds,data = datos)
datos$diam2
rank(datos$diam2)
PMCMRplus::kwAllPairsNemenyiTest(datos$diam2~datos$ds)

---
title: "Diseno en bloques 2024-07-30"
output: html_document
date: '2024-07-30'
---
## Factorial simple: Diseno en bloques

### Ejercicio
# Bloques --> Invernadero
bloques = gl(3,6,18,c('Posterior','Central','Anterior'))

# Factor --> Profundidad de siembra
ps = gl(6,1,18,paste0('ps_',c(0.2,0.4,0.6,0.8,1,1.2)))

# Respuesta --> Dias a la germinacion
dag = c(6.5,7.0,7.2,7.2,7.5,7.2,
        6.8,7.1,7.5,7.7,8.0,8.2,
        7.2,7.4,7.1,7.5,7.7,8.1)

datos_b = data.frame(bloques, ps, dag)
head(datos_b)

library(collapsibleTree)
collapsibleTree(datos_b,c('bloques','ps','dag'),collapsed = FALSE)

library(ggplot2)
ggplot(data = datos_b,aes(x=bloques,y=ps,fill=dag,label=dag))+
  facet_wrap(~bloques)+
  geom_tile(position = 'identity')+
  geom_label(color='white')+
  theme_minimal()

colores = ifelse(bloques=='Posterior','red',ifelse(bloques=='Central','blue','green'))
datos_b$colores = colores

ggplot(data = datos_b,aes(x=ps,y=dag))+
  geom_boxplot()+
  geom_point(color=colores,size=3)+
  theme_minimal()

ggplot(data = datos_b,aes(x=bloques,y=dag))+
  geom_boxplot()+
  geom_point()+
  theme_minimal()

# Hipotesis
# H_o: medias iguales entre niveles de profundidad

# Analisis de varianza
mod = aov(dag~bloques+ps,data = datos_b)
summary(mod)

ifelse(unlist(summary(mod))[[10]]>=1,'Valio la pena Bloquear','No Valio la pena')
Lenguaje: RDescargar script
    Diseno23_07_2024.Rmd - Diseno de Experimentos