2013-03-19 3 views
7

これは以前の質問の編集版です。複数のディストリビューションをペアでグラフィカルに比較

我々は、メートル変数(遺伝子など)上N観察(サンプル)のNテーブルによってメートルを与えられている、と我々は観測値の各対の間の変数の挙動を研究するために探しています - 例えば、正または負の相関が最も高い2つの観測。この目的のために、私はStadler et al。ネイチャー論文(2011):

enter image description here

ここでは、使用するサンプルデータセットである可能性があります。

m <- 1000 
samples <- data.frame(unif1 = runif(m), unif2 = runif(m, 1, 2), norm1 = rnorm(m), 
         norm2 = rnorm(m, 1), norm3 = rnorm(m, 0, 5)) 

私はすでに、この1を生産するパッケージgpairsgpairs(samples)をテストしています。それは良いスタートだが、右上部分に相関係数を入れするオプションを持っていない、また下隅の密度プロット:

enter image description here

次は私がのためにパッケージGGallyggparis(samples, lower=list(continuous="density"))(感謝@LucianoSelzerを使用しました以下のコメント)。今度は、上の角と下の角の密度との相関関係がありますが、対角線のバープロットはありません。密度プロットはヒートマップの形ではありません。

enter image description here

たい画像(最初の1)に、より近づけるための任意のアイデア?

答えて

9

いくつかの異なるプロット方法を組み合わせて、結果を組み合わせることができます。以下に例を示します。

cors<-round(cor(samples),2) #correlations 

# make layout for plot layout 
laymat<-diag(1:5) #histograms 
laymat[upper.tri(laymat)]<-6:15 #correlations 
laymat[lower.tri(laymat)]<-16:25 #heatmaps 

layout(laymat) #define layout using laymat 

par(mar=c(2,2,2,2)) #define marginals etc. 

# Draw histograms, tweak arguments of hist to make nicer figures 
for(i in 1:5) 
    hist(samples[,i],main=names(samples)[i]) 

# Write correlations to upper diagonal part of the graph 
# Again, tweak accordingly 
for(i in 1:4) 
    for(j in (i+1):5){ 
    plot(-1:1,-1:1, type = "n",xlab="",ylab="",xaxt="n",yaxt="n") 
    text(x=0,y=0,labels=paste(cors[i,j]),cex=2) 
    } 

# Plot heatmaps, here I use kde2d function for density estimation 
# image function for generating heatmaps 
library(MASS) 
for(i in 2:5) 
    for(j in 1:(i-1)){ 
    k <- kde2d(samples[,i],samples[,j]) 
    image(k,col=heat.colors(1000)) 
    } 

編集:最後のループのインデックスが訂正されました。 pairwise plot

+0

うわー!それは素晴らしいです、ありがとう。私は、ggplot2の偉大な短い答えがあるかどうかを知りたいと思っています。 – Ali

+0

私はそこにいると確信しています、私はggplot2に慣れ始めましたので、私は古い方法をとることにしました。 ggplot2はグリッドグラフィックスを使用しているため、レイアウトのアイデアはそこでは機能しません。しかし、これは参考になるかもしれません:http://www.cookbook-r.com/Graphs/Multiple_graphs_on_one_page_%28ggplot2%29/ –

関連する問題