2016-11-14 61 views
1

基本示例的檢查顯示Vennerable輸入必須包含一個向量列表here。 所以我做的,我需要有二進制p值矩陣,並嘗試基於他們的共同特點如何從二元矩陣做R Vennerable Venn圖?

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

預計將創造一個維恩圖如下輸出:三個圓

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 
    [email protected] 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

是不正確的。我沒有這樣安裝,所以不能幫助,但它看起來像圓的大小縮放到計數,但相交不縮放:也許有這樣的論點? [第二個想法,在某些情況下,編號認爲,也縮放這些將使它很難(如果不是不可能的話)安排部分) – 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