ggplot2 で、ボックスプロットを作成する時、x軸の並び(サンプルの並び)は、自動的にアルファベット順になります。これは、aes() に指定したパラメーターが自動的に factor 型の文字列として扱われるからです。
これは、gather のときに、並び替えたい順序に指定したとしても、変更することはできません。WT, KO の順に並んで欲しかったとしても、アルファベット順なので、 KO, WT の順になります。
plot_data <- input_data %>%
gather(WT, KO, key = "sample", value = "read_count")
g <- ggplot(plot_data, aes(x = sample, y = read_count))
g + geom_boxplot()

並び替えるには、gather 後に、サンプル列をレベルを指定した factor で上書きします。具体的には下記のような指定です。
plot_data <- input_data %>%
gather(WT, KO, key = "sample", value = "read_count") %>%
mutate(sample = factor(sample, levels = c("WT", "KO")))
# 従来の書き方だと、下記のように書けます。
# plot_data$sample <- factor(plot_data$sample, levels = c("WT", "KO"))
これで、WT、KO の順に並べることができました。

「ggplot2: ボックスプロットを並び替える」への1件のフィードバック
コメントは停止中です。