library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.2
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
xy = expand.grid(x = seq(6), y = seq(4))
xy = sample_frac(xy)
xy$f1 = gl(4, 6, 24, paste0('V',1:4))
xy$f2 = gl(3, 2, 24, paste0('R',1:3))
xy$rep = gl(2, 1, 24, paste0('r',1:2))
xy$name = paste0(xy$f1, xy$f2, xy$rep)
xy
##    x y f1 f2 rep   name
## 1  1 2 V1 R1  r1 V1R1r1
## 2  3 3 V1 R1  r2 V1R1r2
## 3  4 3 V1 R2  r1 V1R2r1
## 4  6 1 V1 R2  r2 V1R2r2
## 5  2 2 V1 R3  r1 V1R3r1
## 6  5 3 V1 R3  r2 V1R3r2
## 7  3 2 V2 R1  r1 V2R1r1
## 8  2 4 V2 R1  r2 V2R1r2
## 9  6 2 V2 R2  r1 V2R2r1
## 10 6 4 V2 R2  r2 V2R2r2
## 11 2 3 V2 R3  r1 V2R3r1
## 12 4 2 V2 R3  r2 V2R3r2
## 13 4 1 V3 R1  r1 V3R1r1
## 14 5 2 V3 R1  r2 V3R1r2
## 15 5 1 V3 R2  r1 V3R2r1
## 16 1 3 V3 R2  r2 V3R2r2
## 17 1 1 V3 R3  r1 V3R3r1
## 18 6 3 V3 R3  r2 V3R3r2
## 19 2 1 V4 R1  r1 V4R1r1
## 20 4 4 V4 R1  r2 V4R1r2
## 21 3 4 V4 R2  r1 V4R2r1
## 22 1 4 V4 R2  r2 V4R2r2
## 23 5 4 V4 R3  r1 V4R3r1
## 24 3 1 V4 R3  r2 V4R3r2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.2.2
ggplot(xy)+
  aes(x,y,label=name)+
  geom_tile(fill='blue', color='white')+
  geom_text(color='white')

library(ggplot2)
ggplot(xy)+
  aes(x,y,label=name, fill=f2)+
  geom_tile(color='white')+
  geom_label(fill='white')+
  labs(title = 'completamente al azar')

library(dplyr)
xy = expand.grid(y = seq(4), x = seq(6))
f2 = gl(3, 8, 24, paste0('R',1:3))
lf1 = paste0('V',1:4)
f1 = c(sample(lf1),sample(lf1),
       sample(lf1),sample(lf1),
       sample(lf1),sample(lf1))
rep = rep(rep(paste0('r',1:2), each=4), 3)

data = data.frame(xy, f1, f2, rep)
data$name = with(data, paste0(f1, rep))
library(ggplot2)
ggplot(data)+
  aes(x,y,label=name, fill=f1)+
  geom_tile(color='white')+
  geom_text()+
  facet_wrap(~f2, scales = 'free')+
  theme(axis.text = element_blank())

set.seed(123)
data$biom = rnorm(24, 8, 2)

###Analisis descriptivo

ggplot(data)+
  aes(f2, biom)+
  geom_boxplot()

ggplot(data)+
  aes(f1, biom)+
  geom_boxplot()

ggplot(data)+
  aes(f2, biom, fill=f1)+
  geom_boxplot()

#library(lme4)
#mod1 = lmer(biom ~ f2*f1 + (1|f2:f1), data)
#mod1
mod1 = aov(biom ~ f2 * f1 + Error(f2:rep), data)
## Warning in aov(biom ~ f2 * f1 + Error(f2:rep), data): Error() model is singular
summary(mod1)
## 
## Error: f2:rep
##           Df Sum Sq Mean Sq F value Pr(>F)  
## f2         2 13.327   6.664   8.078  0.062 .
## Residuals  3  2.475   0.825                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Error: Within
##           Df Sum Sq Mean Sq F value Pr(>F)
## f1         3  13.13   4.377   1.504  0.279
## f2:f1      6  29.47   4.912   1.688  0.230
## Residuals  9  26.18   2.909

#NO se rechaza quye hay interaccion

#NO hay diferencia por culpa del riego o variedad