web-dev-qa-db-ja.com

GGPLOT2:ヴァイオリンプロットとグループにドットを取得する方法は?

X軸がexonです。ただし、プロットをグループ化します。しかし、それはただの理由でジッターを追加したときにそれが正しいaesを応答していて、それ自身のプロットしているのかどうかはうまくいっています。これがエラーのスクリーンショットを持つ再現性のあるコードです。ありがとう!

set.seed(1)
df <- data.frame(
  exons = c(rep("e1", 200), rep("e2", 200)),
  values = rnorm(400, 200, 40),
  group = c(
    rep("g1", 75), rep("g2", 75), rep("g3", 50),
    rep("g1", 75), rep("g2", 75), rep("g3", 50)
  )
)

ggplot(df, aes(y = values, x = exons, fill = group)) +
  geom_violin() +
  geom_jitter(shape = 16, position = position_jitter(0.07))
 _

そのため、プロットが機能している場合は、各エクソンの各グループ内にドットがプロットされていたが、ここでは明らかにそうではありません。

enter image description here

8
Ahdee

あなたはそのようなものを意味しますか?

set.seed ( 1)
df = data.frame ( 
  exons = c(rep("e1", 200), rep("e2", 200))
  ,values = rnorm(400,200,40)
  ,group = c(rep("g1", 75), rep("g2", 75), rep("g3",50),
             rep("g1", 75), rep("g2", 75), rep("g3",50) )
)

ggplot(df, aes(y= values  , x= exons , fill = group )) +
  geom_violin()+ 
  geom_jitter(shape=16, position=position_jitter(width = NULL, height = NULL))
 _

X方向のジッタの程度を定義できます。

0
stefx