すべてのファセット (クラスはここ) 内の x 軸の値 (ここでは hwy) によって箱ひげ図を並べ替えたいと考えています。 2 つの方法を試しましたが、失敗しました:
library(tidyverse); library(forcats)
mpg %>%
ggplot(aes(x = hwy, y = fct_reorder(trans, hwy, median))) +
geom_boxplot() +
facet_wrap(~class, scales = "free_y")
mpg %>%
group_by(class) %>%
mutate(trans = fct_reorder(trans, hwy, median)) %>%
ungroup() %>%
ggplot(aes(x = hwy, y = trans)) +
geom_boxplot() +
facet_wrap(~class, scales = "free_y")
ここで何が足りないのでしょうか?
2
これは役に立つかもしれません stackoverflow.com/questions/52214071/…
– 桐
2020 年 9 月 4 日 21:49
トゥンさん、ありがとう!欲しいfct_reorder を使用できるようになります。使い方が間違っているのでしょうか?
– ゲット
2020 年 9 月 4 日 21:55
------------------------
ありがとう、Tung、そのリンクがヒントを与えてくれました。ここでは、tidytext の関数 reorder_within が役に立ちました。
mpg %>%
ggplot(aes(x = hwy, y = tidytext::reorder_within(trans, hwy, class, median))) +
geom_boxplot() +
facet_wrap(~class, scales = "free_y")
...しかし、現時点での唯一の問題は、テキスト _class がチャート上のすべての y 値にアタッチされていることです。それを修正する方法はありますか?