Statistical test to compare means when I have two observations per group? I am trying to interpret the results of my experiment but am not sure what statistical method I should choose. For my experiment, I added 3 types of different fertilizers to soil, with a control, and measured their growth. I only had two replicates per treatment, so my data looks like this:
Treatment   Replicate  Length   
Control       1          16
Control       2          18
Fert1         1          20
Fert1         2          17
Fert2         1          25
Fert2         2          27
Fert3         1          23
Fert3         2          21

I think people usually do a minimum of 3 replicates to calculate a "meaningful" standard deviation, but the logistics made it just not possible to do so. In this case, if I want to compare the means of each treatment, and determine whether a specific treatment significantly enhanced or repressed growth, what would be the best method to use? Can I use ANOVA with two observations per group? Would it be better to use the t-test between Control and Fert1 (or Fert2 or Fert3) separately to evaluate effect of each fertilizer to conrol? Would any of these statistical tests (or other tests I'm not aware of) be heavily biased toward having only two observations per group?

You can run an ANOVA and then do a post-hoc comparison.  With only two observations per group there needs to be decent size differences between the groups.  You can also run Dunnet's Test to compare all three against the control.  See code below.
There is no minimum rule sample size such as 3.  All depends on the effect size you're trying to detect.
library(tidyverse)

a1 = tibble(treatment=c("Control","Control","Fert1","Fert1","Fert2","Fert2","Fert3","Fert3"),
       length=c(16,18,20,17,25,26,23,21))

a1 %>% group_by(treatment) %>% summarize(mean(length),sd(length))

fit=aov(length~treatment,data=a1)
TukeyHSD(fit)


library(DescTools)
DunnettTest(x=a1$length, g=as.factor(a1$treatment))

