# definiendo semilla

library(collapsibleTree)
set.seed(3104)
# genetando variable respuesta
rendimiento = c(rnorm(250, 3, 0.5), runif(150, 2.5, 2.8))

# factores
genotipo = gl(n = 4, k = 100, 400, length = 400,labels = c('Criolla', 'Pastusa', 'Toquerreña', 'Suprema'))

 
fertilizacion = gl(n = 2, k= 50, 400, length = 400, labels = c('Fertilizacion', 'Control'))

# creando dataframe
datos = data.frame(fertilizacion, genotipo, rendimiento)

# distribucion variable respuesta             
hist(rendimiento, col = blues9)

library(collapsibleTree)
(collapsibleTree(datos,
                hierarchy = c('fertilizacion', 'genotipo')))

Revisando

summary(datos)
##        fertilizacion       genotipo    rendimiento   
##  Fertilizacion:200   Criolla   :100   Min.   :1.357  
##  Control      :200   Pastusa   :100   1st Qu.:2.622  
##                      Toquerreña:100   Median :2.770  
##                      Suprema   :100   Mean   :2.893  
##                                       3rd Qu.:3.113  
##                                       Max.   :4.323
medias_fertilizacion = tapply(datos$rendimiento, datos$fertilizacion, mean)
boxplot(datos$rendimiento~datos$fertilizacion)
points(c(1,2), medias_fertilizacion, col = "blue", pch =20)

Hay mayor rendimiento en la semilla con el tratamiento de fertilización aunque el incremento no sea tan marcado, se podria decir que la aplicación del fertilizante no genera cambios significativos y posiblemente si genere un costo adicional al experimento.

Si miramos el boxplot el rendimiento con la semilla fertilizada es mejor, la mediana allí representada con la linea negra es mucho mejor que la que se evidencia en la mediana del control ya que en esta no tiene un efecto positivo en gran proporción en el rendimiento, tambien se evidencia unos datos atipicos.

Los datos no son tan confiables ya que se analizan por separado

medias_genotipo = tapply(datos$rendimiento, datos$genotipo, mean)
boxplot(datos$rendimiento~datos$genotipo)
points(c(1:4), medias_genotipo, col = "blue", pch= 16 ) 

medias = tapply(datos$rendimiento, list(datos$fertilizacion, datos $genotipo), mean)
medias
##                Criolla  Pastusa Toquerreña  Suprema
## Fertilizacion 3.111173 2.987880   3.093551 2.663713
## Control       3.058725 2.934313   2.652878 2.639801
datos$trt = interaction(datos$fertilizacion, datos$genotipo)
library(ggplot2)
ggplot(datos, aes(x= trt, y= rendimiento)) + (geom_bar(stat = 'identity', position = 'dodge')) + theme (axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1))

medias = tapply(datos$rendimiento, list(datos$fertilizacion, datos$genotipo), median)

#Desviación estandar por medidas de dispersion

Desviacion = tapply(datos$rendimiento, list(datos$fertilizacion, datos$genotipo), sd)

El trt que varia menos es el mejor, tiene el mejor promedio, la mejor mediana y la desviación estandar mas baja

#coeficiente de variación \[ CV = \frac{s}{\bar x}*100 \]

cv = 100*Desviacion/medias
cv
##                Criolla  Pastusa Toquerreña  Suprema
## Fertilizacion 17.20381 17.07229  15.765125 3.422106
## Control       16.32791 16.33232   3.061556 3.200131

El que tenga coeficiente de variación mayor a 20 es descartable, el mejor siempre es el que tenga menor coeficiente de variación.