Pelo que entendi, reorder() é o que você precisa usar.
## 5 níveis, 4 repetições.
trt <- gl(5, 4)
## Resposta.
y <- rnorm(length(trt))
boxplot(y~trt)
## Fazer os níveis ordenados pelas médias.
trt0 <- reorder(x=trt, y, FUN=mean)
boxplot(y~trt0)
À disposição.
Walmes.