我想绘制没有NAs的第一个数字,并按中位数排序。我想我可以通过使用na.omit和下面的代码1来做到这一点。
如何通过保留图1(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()
码2
ggplot(a, aes(reorder(T, log2(G+1), median, order=TRUE), log2(G+1), fill=T)) + geom_boxplot()+coord_flip()
答案 0 :(得分: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)