2016-09-14 14 views
2

今、私は列内のすべての4つの遺伝子をmultiboxplotを作りたいドットポイントとラベルを使ってボックスプロットを作成する方法は?

G1 G2  G3   G4  group 
S_1 0 269.067 0.0817233 243.22 N 
S_2 0 244.785 0.0451406 182.981 N 
S_3 0 343.667 0.0311259 351.329 N 
S_4 0 436.447 0.0514887 371.236 N 
S_5 0 324.709 0 293.31 N 
S_6 0 340.246 0.0951976 393.162 N 
S_7 0 382.889 0.0440337 335.208 N 
S_8 0 368.021 0.0192622 326.387 N 
S_9 0 267.539 0.077784 225.289 T 
S_10 0 245.879 0.368655 232.701 T 
S_11 0 17.764 0 266.495 T 
S_12 0 326.096 0.0455578 245.6 T 
S_13 0 271.402 0.0368059 229.931 T 
S_14 0 267.377 0 248.764 T 
S_15 0 210.895 0.0616382 257.417 T 
S_16 0.0401525 183.518 0.0931699 245.762 T 
S_17 0 221.535 0.219924 203.275 T 

以下のように私は、データフレームを持っています。最初の8行は正常なサンプルのためのものであり、残りの9行は腫瘍サンプルであるので、各遺伝子については、組織のラベルを有する2つのボックスプロットを作ることができるはずである。私は個々のボックスプロットを作成することができますが、4つの遺伝子すべてを1つのプロットに入れ、各ボックスプロットのティッシュにラベルを付け、ストリップチャートポイントを使用する必要があります。それを行う簡単な方法はありますか?私は行と列の名前だけを使って個々のプロットを作ることができますが、プロットの列グループに基づいてラベルをマークしたり、ストリップチャートでポイントをプロットすることはできません。どんな助けもありがとう。ありがとう

答えて

1

ストリップチャートポイントの意味がわからないので、ボックスプロットにオーバーレイされた実際のポイントを視覚化したいと思っていました。次のことで十分でしょうか?

library(ggplot2) 
library(dplyr) 
library(reshape2) 

melt(df) %>% 
ggplot(aes(x = variable, y = value, col = group)) + 
geom_boxplot() + 
geom_jitter() 

ここで、dfは上記のデータフレームです。結果:facet_wrapと

enter image description here

+0

もう一つだけ質問をするために、私はより良い解決のために対数スケールでこれを行い、いくつかのドットがオンになっていることがわかりましたピンクの緑色のボックスプロットのポイントを意味する他のプロットなので、その場合はプロットを拡大する必要はありません。 –

+0

あなたが教えてください、それらのいくつかは少し誤解を招くかもしれない他のグループにあるので、各遺伝子のボックスプロット上にドットポイントを表現することは良い考えではないですか?ここでどのようなスケーリングを適用する必要がありますか?別のケースでは、それぞれのサンプルサイズが20未満であるので、点点プロットを行っていたので、それらを配置する方が良いです。何を言わなければならないのですか? –

+0

私は、グラフ上のポイントを表すどのような付加価値があるのか​​、特にポイントの負荷があるのか​​分かりません。あなたよりももっと洗練されたボックスプロットが必要な場合は、[海賊プロット](http://nathanieldphillips.com/2016/04/pirateplot-2-0-the-rdi-plotting-choice-of-r-海賊/):) – thepule

2

head(df) 

    G1  G2  G3  G4 group 
S_1 0 269.067 0.0817233 243.220  N 
S_2 0 244.785 0.0451406 182.981  N 
S_3 0 343.667 0.0311259 351.329  N 
S_4 0 436.447 0.0514887 371.236  N 
S_5 0 324.709 0.0000000 293.310  N 
S_6 0 340.246 0.0951976 393.162  N 

library(reshape2) 
df <- melt(df) 

library(ggplot2) 
ggplot(df, aes(x = variable,y = value, group=group, col=group)) +  
facet_wrap(~variable, scales = 'free') + geom_boxplot() 

enter image description here

関連する問題