2017-12-07 26 views
0

ggplotを使用してグループ化されたボックスプロットをプロットします。ggplotのboxplotが予期しない出力を出力する

以下

enter image description here

私のデータからサンプル(10行)を参照してください:

alpha colsample_bytree best_F1 
35 0.00 0.5     0.5825656 
78 0.10 0.3     0.4716612 
68 0.00 0.3     0.4714286 
27 0.40 1.0     0.4786216 
49 0.15 0.5     0.4943968 
62 0.00 0.3     0.4938805 
70 0.00 0.3     0.4849785 
73 0.10 0.3     0.4997061 
59 0.30 0.5     0.4856369 
88 0.20 0.3     0.4552402 


    sort(unique(data$alpha)) 
    0 0.1 0.15 0.2 0.3 0.4 

    sort(unique(data$colsample_bytree)) 
    0.3 0.5 1 

私のコードは以下の通りです:

library(ggplot2) 
library(ggthemes) 

ggplot(data, aes(x= colsample_bytree, y = best_F1, fill = as.factor(alpha))) + 

geom_boxplot(alpha = 0.5, position=position_dodge(1)) + theme_economist() + 
ggtitle("F1 for alpha and colsample_bytree") 

これは生産下の写真のような何か次のプロット:

enter image description here

と次の警告:

Warning message: 
"position_dodge requires non-overlapping x intervals" 

変数colsample_bytree 3つの離散値をとり、変数アルファ6を取る私が対応6つのボックスプロットからなる--eachグループボックスプロットの3グループを表示することが予想されるのでcolsample_bytreeの異なる値に配置された異なるアルファ値および各グループ、すなわち私が引用した例のようにボックスプロットが重なり合わないことが期待されます。

+0

上部のあなたの例は、カテゴリX軸 – Axeman

答えて

0

ggplotコマンドでデータをプロットする前に、data$colsample_bytree <- as.factor(data$colsample_bytree)を含めるだけで済みます。

関連する問題