2017-07-17 1 views
0

私はこのサンプルデータを持っています。ggplot2の同じグラフに2つのボックスプロットを追加するには

sample <- data.frame(sample = 1:12, 
        site = c('A','A','A','B','B','B','A','A','A','B','B','B'), 
        month = c(rep('Feb', 6), rep('Aug', 6)), 
        Ar = c(7,8,9,8,9,9,4,5,7,5,8,9)) 

そして、私はその総ので、同じグラフでそれらを結合する方法がある場合は、サイトAとサイトBは、各月ごとの右隣同士にしているだろう2箱ひげ図

ggplot(sample, aes(x=factor(month), y=Ar)) + 
    geom_boxplot(aes(fill=site)) 

ggplot(sample, aes(x=factor(month), y=Ar)) + 
    geom_boxplot() 

を作成。

答えて

0

dplyrtidyverseパッケージ経由)とreshape2を利用できます。

library(dplyr) 
library(reshape2) 

sample%>% 
    dplyr::select(-sample) %>% 
    mutate(global = 'Global') %>% 
    melt(., id.vars=c("month", "Ar")) %>% 
    ggplot(aes(month, Ar)) + geom_boxplot(aes(month, Ar, fill=value)) 

これは、あなたが現在それを使用していないとして、サンプル列をドロップし、別の列にグローバルな用語を追加し、melt機能を介してデータを整形して図を生成します。元の質問の入力コード形式を変更したことに注意してください。 data.frameの変更により、変数を要因に強制する必要がなくなりました。

+0

これは機能します!どうもありがとう! –

関連する問題