2016-11-23 3 views
0
  1. Я хочу построить первую фигуру без NA и заказать медианную. Я думаю, что могу сделать это, используя na.omit и code1 ниже.Как изменить порядок меток boxplot в ggplot2

  2. Как построить вторую фигуру, сохраняя те, которые находятся в Figure1 (Cara и Carc), а также сохранить тот же порядок, как на рисунке 1.

 R G T 
EG1 2 20 carA 
EG2 4 40 carA 
EG3 8 80 carA 
EG4 10 100 carA 
EG5 NA 20 carB 
EG6 NA 40 carB 
EG7 NA 50 carB 
EG8 NA 90 carB 
EG9 4 50 carC 
EG10 8 60 carC 
EG11 12 70 carC 
EG12 24 90 carC 

code1

ggplot(a, aes(reorder(T, log2(R+1), median, order=TRUE), log2(R+1), fill=T)) + geom_boxplot()+coord_flip() 

enter image description here

code2

ggplot(a, aes(reorder(T, log2(G+1), median, order=TRUE), log2(G+1), fill=T)) + geom_boxplot()+coord_flip() 

enter image description here

ответ

1

Вы должны захватить заказ от первого участка, и использовать его, чтобы установить пределы, во втором с помощью scale_x_discrete (из-за coord_flip).

limits <- levels(reorder(a$T, log2(a$R + 1))) 

ggplot(a, aes(reorder(T, log2(R + 1), median, order = TRUE), log2(R + 1), fill = T)) + 
    geom_boxplot() + 
    coord_flip() + 
    scale_x_discrete(limits = limits) 

ggplot(a, aes(reorder(T, log2(G + 1), median, order = TRUE), log2(G + 1), fill = T)) + 
    geom_boxplot() + 
    coord_flip() + 
    scale_x_discrete(limits = limits) 
+0

Я бы добавил na.omit (a), чтобы игнорировать значения nulll. спасибо, что он отлично работает! – user1883491

Смежные вопросы