3

以下は、いくつかの箱ひげ図を作成するために使用するコードの例です。

stest <- read.table(text="    site  year    conc
    south   2001    5.3
    south   2001    4.67
    south   2001    4.98
    south   2002    5.76
    south   2002    5.93
    north   2001    4.64
    north   2001    6.32
    north   2003    11.5
    north   2003    6.3
    north   2004    9.6
    north   2004    56.11
    north   2004    63.55
    north   2004    61.35
    north   2005    67.11
    north   2006    39.17
    north   2006    43.51
    north   2006    76.21
    north   2006    158.89
    north   2006    122.27
", header=TRUE)

require(ggplot2)
ggplot(stest, aes(x=year, y=conc)) +
  geom_boxplot(horizontal=TRUE) +
  facet_wrap(~site, ncol=1) +
  coord_flip() +
  scale_y_log10()

これにより、次のようになります。

箱ひげ図

考えられることはすべて試しましたが、データが表示されている年 (2001 年と 2002 年) だけが南面に含まれるプロットを作成できませんでした。私がやろうとしていることは可能ですか?

私が達成したいことを示すスクリーンショットへのリンク(DEAD)は次のとおりです

4

2 に答える 2

3

scales='free.x'の引数を使用しますfacet_wrap。しかし、あなたが探しているプロットを得るには、それ以上のことをする必要があるのではないかと思います。

特にaes(x=factor(year), y=conc)最初のggplot電話で。

于 2013-01-23T21:28:36.760 に答える
0

問題を回避する簡単な方法 (かなり良い結果): 2 つの boxplot を別々に生成し、パッケージのコマンドを
使用してそれらを結合します。grid.arrangegridExtra

library(gridExtra)

p1 <- ggplot(subset(stest,site=="north"), aes(x=factor(year), y=conc)) +
 geom_boxplot(horizontal=TRUE) + coord_flip() + scale_y_log10(name="")

p2 <- ggplot(subset(stest,site=="south"), aes(x=factor(year), y=conc)) +
 geom_boxplot(horizontal=TRUE) + coord_flip() + 
 scale_y_log10(name="X Title",breaks=seq(4,6,by=.5)) +

grid.arrange(p1, p2, ncol=1)
于 2013-01-24T16:21:18.440 に答える