私は以下のboxplotを持っており、カウントをテキストにしたいと考えています。stat_summaryを変更してボックスプロットの分布数を表示する
group = c(rep(c(1,2,1),100) )
group2 = rep(c("A","B","B"),100)
r = rnorm(300,50,63)
d = data.frame( group = group, r = r , group2 = group2)
head(d)
custom= function (x){
q = quantile(x)
return( c(q[1],q[3],q[5]) )}
ggplot(data = d, aes(factor(group), r)) +
geom_boxplot() +
stat_summary(geom="text", fun.y=custom,
aes(label=sprintf("%1.0f", ..y..)),
position=position_nudge(x=0.33), size=3)+
geom_text(data= data.frame(x = unique(as.factor(group)) , y = quantile(r[group])[3], label= paste0("N=", length(r)) ),
aes(x,y,label=label),inherit.aes = FALSE)+
facet_wrap(~group2)
現在のカウントは、各ボックスプロットでも同じです。どのように私はそれを正確に各ボックスプロットのカウントを反映するようにし、boxplotがない場合には印刷しませんgroup2 = Aボックスプラスはありませんが、カウントはまだ印刷されていますか?
ありがとうございます。
が、その溶液は、手動でアノテーションのxとyの値を設定する必要があります。私は、10,20または30のボックスプロットが存在する可能性があるため、再コード化する必要のないソリューションを探しています。私の場合は、ファセットも使用しています。ファセットを使ってコードを更新します。 – user3022875
@ user3022875私に30ボックスプロットの例を与えることができるなら、それを管理する方法の例を与えることができます –
ファセットを使って2つのプロットで1 boxplotを持つ上記の例を参照してください – user3022875