drop.times <- read.table(header=TRUE, text="
maker heli  dropper time   
Andy  A     Andy    9.3
Andy  A     Andy    9.2
Andy  A     Andy    9.1
Andy  A     Bela    9.0
Andy  A     Bela    9.4
Andy  A     Bela    8.8
Andy  B     Andy    9.0
Andy  B     Andy    9.4
Andy  B     Andy    9.2
Andy  B     Bela    8.9
Andy  B     Bela    8.7
Andy  B     Bela    9.2
Bela  A     Andy    9.4
Bela  A     Andy    9.2
Bela  A     Andy    9.0
Bela  A     Bela    9.2
Bela  A     Bela    9.0
Bela  A     Bela    8.8
Bela  B     Andy    9.0
Bela  B     Andy    9.4
Bela  B     Andy    9.3
Bela  B     Bela    8.9
Bela  B     Bela    8.7
Bela  B     Bela    9.2
")
summary(drop.times)
##     maker               heli             dropper               time      
##  Length:24          Length:24          Length:24          Min.   :8.700  
##  Class :character   Class :character   Class :character   1st Qu.:8.975  
##  Mode  :character   Mode  :character   Mode  :character   Median :9.150  
##                                                           Mean   :9.096  
##                                                           3rd Qu.:9.225  
##                                                           Max.   :9.400
(S <- summary(
  drop.model <- aov(time ~ maker + heli/maker + dropper + heli*dropper,
                    data=drop.times)
)
)
##              Df Sum Sq Mean Sq F value Pr(>F)  
## maker         1 0.0004 0.00042   0.009  0.923  
## heli          1 0.0104 0.01042   0.237  0.632  
## dropper       1 0.3037 0.30375   6.914  0.017 *
## maker:heli    1 0.0037 0.00375   0.085  0.774  
## heli:dropper  1 0.0204 0.02042   0.465  0.504  
## Residuals    18 0.7908 0.04394                 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
S[[1]][[3]]
## [1] 0.0004166667 0.0104166667 0.3037500000 0.0037500000 0.0204166667
## [6] 0.0439351852
ggplot(data=drop.times, aes(x=maker, y=time, fill=maker)) +
  geom_boxplot(show.legend = FALSE) +
  theme_classic()