2017-09-28 13 views
1

この単純化された例では、観測の降順数に基づいて順序付けられたx軸である所望の結果を得ることができます。観測値のカウントに基づくボックスプロットx軸

しかし、また以前のフィルタリングに基づいて変化しますより多くのレベルを、処理するために、私はに順序を計算するのではなく、それらを手動で指定したいと思います。

私はこのサイトの並べ替えの例をいくつか見てきましたが、観測数を扱う例は見つかりませんでした。それを行う方法はありますか?

library(tidyverse) 
library(ggplot2) 
data_df <- read_csv("fct, val\na, 12\nb, 12\nc, 2\nb, 14\nc, 4\nc, 6") 
data_df <- data_df %>% 
    mutate(fct2 = factor(fct, levels = c("c", "b", "a"))) 
ggplot(data_df) + 
geom_boxplot(aes(fct2, val)) 

enter image description here

+0

'data_df $ fct3 < - 因子(減少data_dfます$ FCT、名前(ソート(XTABS(ヴァル〜FCT、data_df)、= TRUE)))' – rawr

答えて

2

tidyverseソリューションはforcatsパッケージからfct_infreq機能を使用することです。

例:

library(forcats) 
library(ggplot2) 

ggplot(mtcars, aes(fct_infreq(as.factor(cyl)), mpg)) + geom_boxplot() 

# Count of each cylinder type 
table(mtcars$cyl) 
# 4 6 8 
# 11 7 14 
関連する問題