R - упорядочивание в блочной диаграмме

Я пытаюсь создать серию коробчатых диаграмм в R , сгруппированных по 2 факторам. Мне удалось построить график, но я не могу расположить коробки в правильном направлении.

Моя ферма данных, которую я использую, выглядит следующим образом:

Nitrogen    Species    Treatment
2           G          L
3           R          M
4           G          H
4           B          L
2           B          M
1           G          H

Я пробовал:

boxplot(mydata$Nitrogen~mydata$Species*mydata$Treatment)

это упорядочило коробки в алфавитном порядке ( первые три были "высокими" процедурами, затем в этих трех они были упорядочены по названиям видов в алфавитном порядке).

alt text

Я хочу, чтобы прямоугольная диаграмма упорядочивала «Низкий> Средний> Высокий», а затем в каждой из этих групп G> R> B для видов.

Я попытался использовать множитель в формуле:

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")

затем:

boxplot(mydata$Nitrogen~f)

, однако коробки все еще раскручиваются в том же порядке. Ярлыки теперь другие, но ящики не сдвинулись.

Я вытащил каждый набор данных и построил их вместе по отдельности:

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)

Это дает то, что я хочу, но я бы предпочел сделать это в более подробном виде. элегантный способ, поэтому мне не нужно извлекать каждый отдельно для больших наборов данных.


Загружаемые данные:

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))
26
задан Old Pro 25 January 2019 в 07:48
поделиться