2016-11-14 6 views
1

基本的な例を調べると、Vennerable入力はベクトルのリストでなければならないことがわかりますhere。 は、だから、私はそこにバイナリp値行列を取り、バイナリ行列からR Vennerable Venn Diagramを実行するには?

library("Vennerable") 
library('limma') # vennCounts, vennDiagram 
library("psych") 

ids <- seq(1,11) 
M.cor <- cor(mtcars) 
colnames(M.cor) <- ids 
rownames(M.cor) <- ids 

p.mat <- psych::corr.test(M.cor, adjust = "none", ci = F) 

alpha <- 0.000000005 

lista <- list(
    as.vector(p.mat[["p"]] < alpha), 
    as.vector(p.mat[["r"]] < alpha), 
    as.vector(p.mat[["t"]] < alpha) 
) 
# List of 3 vectors  

Vstem <- Venn(lista) 

plot(Vstem, doWeights = TRUE, type = "circles") 

図1の出力

enter image description here

間違った期待彼らの共通の特性に基づいて、ベン図を作成しようとする場所を次の手順を実行します出力:3つの円

STOUT

List of 3 
$ : logi [1:121] TRUE TRUE TRUE FALSE FALSE FALSE ... 
$ : logi [1:121] FALSE TRUE TRUE TRUE FALSE TRUE ... 
$ : logi [1:121] FALSE TRUE TRUE TRUE FALSE TRUE ... 
Formal class 'Venn' [package "Vennerable"] with 2 slots 
    ..@ IndicatorWeight : int [1:8, 1:4] 0 1 0 1 0 1 0 1 0 0 ... 
    .. ..- attr(*, "dimnames")=List of 2 
    .. .. ..$ : chr [1:8] "000" "100" "010" "110" ... 
    .. .. ..$ : chr [1:4] "1" "2" "3" ".Weight" 
    [email protected] IntersectionSets:List of 8 
    .. ..$ 000: NULL 
    .. ..$ 100: NULL 
    .. ..$ 010: NULL 
    .. ..$ 110: NULL 
    .. ..$ 001: NULL 
    .. ..$ 101: NULL 
    .. ..$ 011: NULL 
    .. ..$ 111: logi [1:2] TRUE FALSE 
のVennerableベン図

R:3.3.1
OS:Debianの8.5

+1

交差ルックス好きなTRUE/FALSE(0/1)をラベルとして使用していますが、これは意図したものではないと私は疑います。代わりに 'which'を使ってラベルを取得してください。' which(p.mat [["p"]] user20650

+0

@ user20650正しいと思われます。私はあなたのことを参考にwikiを作った。それらの大きな0の領域はしかし、奇妙です。 –

+1

ええ、かなりうまく見えません。私はこれがインストールされていないので、傾きのヘルプが、円のサイズがカウントにスケールされているように見えますが、交差が拡大縮小されていない:おそらくこれの引数がありますか? [2番目の考えは、いくつかのケースでは、idを考えると、これらをスケーリングすると、セクションを配置するのが難しい(不可能ではないにしても)ようになります) – user20650

答えて

1

コメントでuser20650の答え

lista <- list(
    which(p.mat[["p"]] < alpha), #as.vector(p.mat[["p"]] < alpha), 
    which(p.mat[["r"]] < alpha), #as.vector(p.mat[["r"]] < alpha), 
    which(p.mat[["t"]] < alpha) #as.vector(p.mat[["t"]] < alpha) 
) 

出力

enter image description here

チケット:#39#40

関連する問題