10

以下のように、実際のデータを表すために、ジッターされた点が箱ひげ図の上に重ねられる箱ひげ図がとても好きになりました。

set.seed(7)
l1 <- gl(3, 1, length=102, labels=letters[1:3])
l2 <- gl(2, 51, length=102, labels=LETTERS[1:2]) # Will use this later
y <- runif(102)
d <- data.frame(l1, l2, y)

ggplot(d, aes(x=l1, y=y)) + 
  geom_point(position=position_jitter(width=0.2), alpha=0.5) +
  geom_boxplot(fill=NA) 

ここに画像の説明を入力

(これらは、各ボックスに非常に異なる数のデータ ポイントがある場合に特に役立ちます。)

position_dodgeボックスプロットを2番目の変数で区切るために(暗黙的に)使用している場合にも、この手法を使用したいと思います。

ggplot(d, aes(x=l1, y=y, colour=l2)) + 
  geom_point(position=position_jitter(width=0.2), alpha=0.5) +
  geom_boxplot(fill=NA)

ここに画像の説明を入力

colourただし、変数(ここでは)でポイントをかわす方法と、l2それらをジッターする方法がわかりません。

4

5 に答える 5

4

あなたは気に入らないと思いますが、ポイントの独自の x 値を生成する以外に、これを回避する方法を見つけたことがありません。この場合:

d$l1.num <- as.numeric(d$l1)
d$l2.num <- (as.numeric(d$l2)/3)-(1/3 + 1/6)
d$x <- d$l1.num + d$l2.num

ggplot(d, aes(l1, y, colour = l2)) + geom_boxplot(fill = NA) +
  geom_point(aes(x = x), position = position_jitter(width = 0.15), alpha = 0.5) + theme_bw()

ここに画像の説明を入力

確かに理想からはほど遠いですが、すぐにルーチンになります。誰かが別の解決策を持っているなら、私はとても幸せです!

于 2013-09-26T03:26:32.400 に答える
0

別のオプションは、ファセットを使用することです。

set.seed(7)
   l1 <- gl(3, 1, length=102, labels=letters[1:3])
   l2 <- gl(2, 51, length=102, labels=LETTERS[1:2]) # Will use this later
   y <- runif(102)
   d <- data.frame(l1, l2, y)

   ggplot(d, aes(x=l1, y=y, colour=l2)) + 
     geom_point(position=position_jitter(width=0.2), alpha=0.5) +
     geom_boxplot(fill=NA) +
     facet_grid(.~l2) +
     theme_bw()

結果のグラフを投稿するのに十分なポイントがありません。

于 2015-06-12T21:32:10.267 に答える