2016-11-14 7 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

잘못된 기대 공통의 특성에 따라 벤 다이어그램을 만들려고 할 경우 다음을 수행 출력 세 원

스타우트

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,617의 벤 다이어그램

R : 3.3.1
OS : 데비안 8.5

+1

인터 섹트 모습 처럼 그것은 TRUE/FALSE (0/1)를 레이블로 사용하여 의도 한 바가 의심 스럽습니다. 대신에'which'를 사용하여 레이블을 얻으십시오.'which (p.mat [[ "p"]] user20650

+0

@ user20650 올바른 것으로 보입니다. 나는 당신에 대한 언급과 함께 위키를 만들었습니다. 그 큰 0 영역은 그러나 이상합니다. –

+1

멍청이가 제대로 보이지 않습니다. 나는 이것을 설치하지 않았으므로 위선적 인 도움이 필요하지만 원의 크기가 카운트에 맞게 조정되지만 교차가 조정되지 않는 것처럼 보입니다. 아마도 이것에 대한 논의가 있을까요? [두 번째 생각, 어떤 경우에는 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