R - pedido no boxplot
Estou tentando produzir uma série de gráficos de caixas emR que é agrupado por 2 fatores. Consegui fazer o enredo, mas não consigo encomendar as caixas na direção correta.
Meu farm de dados que estou usando tem a seguinte aparência:
Nitrogen Species Treatment
2 G L
3 R M
4 G H
4 B L
2 B M
1 G H
Eu tentei:
boxplot(mydata$Nitrogen~mydata$Species*mydata$Treatment)
isso ordenava as caixas em ordem alfabética (os três primeiros eram os tratamentos "altos", depois, naqueles três, eles eram ordenados pelo nome da espécie em ordem alfabética).
Quero o gráfico da caixa ordenado Baixo> Médio> Alto e, em seguida, dentro de cada um desses grupos G> R> B para as espécies.
Então, eu tentei usar um fator na fórmula:
f = ordered(interaction(mydata$Treatment, mydata$Species),
levels = c("L.G","L.R","L.B","M.G","M.R","M.B","H.G","H.R","H.B")
então:
boxplot(mydata$Nitrogen~f)
no entanto, as caixas ainda estão se esgotando na mesma ordem. Os rótulos agora são diferentes, mas as caixas não foram movidas.
Peguei cada conjunto de dados e os plotei todos juntos individualmente:
lg = mydata[mydata$Treatment="L" & mydata$Species="G", "Nitrogen"]
mg = mydata[mydata$Treatment="M" & mydata$Species="G", "Nitrogen"]
hg = mydata[mydata$Treatment="H" & mydata$Species="G", "Nitrogen"]
etc ..
boxplot(lg, lr, lb, mg, mr, mb, hg, hr, hb)
Isso dá o que eu quero, mas eu preferiria fazer isso de uma maneira mais elegante, para não precisar extrair cada um individualmente para conjuntos de dados maiores.
Dados carregáveis:
mydata <-
structure(list(Nitrogen = c(2L, 3L, 4L, 4L, 2L, 1L), Species = structure(c(2L,
3L, 2L, 1L, 1L, 2L), .Label = c("B", "G", "R"), class = "factor"),
Treatment = structure(c(2L, 3L, 1L, 2L, 3L, 1L), .Label = c("H",
"L", "M"), class = "factor")), .Names = c("Nitrogen", "Species",
"Treatment"), class = "data.frame", row.names = c(NA, -6L))