30

パッケージ以外にRでベン図を作成するための他のパッケージはありlimmaますか?

ヒントを得た人はいますか?

パッケージでベン図を作成する際の注意事項を次に示しlimmaます。

4

8 に答える 8

18

ベン図パッケージのリスト:

于 2013-02-15T13:36:49.893 に答える
10

R-forge には Vennerable パッケージがあります。

source("http://bioconductor.org/biocLite.R")
biocLite(c("graph", "RBGL", "gtools", "xtable"))
install.packages("Vennerable", repos="http://R-Forge.R-project.org")

ベン図

于 2011-06-06T16:27:36.247 に答える
7

私はトリックに 2 つのカスタム関数を使用します。venndia の私の実装は、ベン図をプロットし、A と B (および C) の間のオーバーラップのリストを返します。以下のコードを参照してください。

これらを使用すると、次のことができます

vd <- venndia(A=LETTERS[1:15], B=LETTERS[5:20], getdata=TRUE)

これは、データをプロットして返します。次のようにして、データを返すことをオフにすることができます

venndia(A=LETTERS[1:15], B=LETTERS[5:20])

getdata はデフォルトで FALSE であるためです。/ダニエル

circle <- function(x, y, r, ...) {
    ang <- seq(0, 2*pi, length = 100)
    xx <- x + r * cos(ang)
    yy <- y + r * sin(ang)
    polygon(xx, yy, ...)
}

venndia <- function(A, B, C, getdata=FALSE, ...){
    cMissing <- missing(C)
    if(cMissing){ C <- c() }

    unionAB <- union(A, B)
    unionAC <- union(A, C)
    unionBC <- union(B, C)
    uniqueA <- setdiff(A, unionBC)
    uniqueB <- setdiff(B, unionAC)
    uniqueC <- setdiff(C, unionAB)
    intersAB <- setdiff(intersect(A, B), C)
    intersAC <- setdiff(intersect(A, C), B)
    intersBC <- setdiff(intersect(B, C), A)
    intersABC <- intersect(intersect(A, B), intersect(B, C))

    nA <- length(uniqueA)   
    nB <- length(uniqueB)
    nC <- length(uniqueC)

    nAB <- length(intersAB)
    nAC <- length(intersAC)
    nBC <- length(intersBC)

    nABC <- length(intersABC)   

    par(mar=c(2, 2, 0, 0))
    plot(-10, -10, ylim=c(0, 9), xlim=c(0, 9), axes=FALSE, ...)
    circle(x=3, y=6, r=3, col=rgb(1,0,0,.5), border=NA)
    circle(x=6, y=6, r=3, col=rgb(0,.5,.1,.5), border=NA)
    circle(x=4.5, y=3, r=3, col=rgb(0,0,1,.5), border=NA)

    text( x=c(1.2, 7.7, 4.5), y=c(7.8, 7.8, 0.8), c("A", "B", "C"), cex=3, col="gray90" )

    text(
        x=c(2, 7, 4.5, 4.5, 3, 6, 4.5), 
        y=c(7, 7, 2  , 7  , 4, 4, 5), 
        c(nA, nB, nC, nAB, nAC, nBC, nABC), 
        cex=2
    )

    if(getdata){
        list(A=uniqueA, B=uniqueB, C=uniqueC, 
            AB=intersAB , AC=intersAC , BC=intersBC , 
            ABC=intersABC
        )
    }
}
于 2009-09-26T10:53:46.367 に答える
7

gplots パッケージの venn 関数は、4/5 セットのベン図を作成する必要がある場合にも役立ちます。

于 2009-09-16T09:45:22.213 に答える
7

これは非常に遅れていますが、答えを探している他の人にとっては役立つかもしれません: VennDiagram、 CRAN here

複数のセット (ベン図の場合は 4 セット、オイラー図の場合は 3 セット)、カスタマイズ可能な色とフォント、シンプルな構文、そして何よりも円のサイズがデータ セットのサイズに比例します (少なくとも 2 つのデータを比較する場合)。セット)。インストールするには:

install.packages("VennDiagram")
library(VennDiagram)

バイオコンダクタ パッケージを使用してゲノム座標を操作する場合、最近 vennDiagram がパッケージChIPpeakAnno (バージョン 2.5.12) に実装され、たとえば Chip-seq ピークのゲノム座標のかなりの交差を可能にします。アーリー アダプターの場合は、開発パッケージをインストールする必要がある場合があります。

peaks1 = RangedData(IRanges(start = c(967654, 2010897, 2496704),
    end = c(967754, 2010997, 2496804), names = c("Site1", "Site2", "Site3")),
    space = c("1", "2", "3"), strand=as.integer(1),feature=c("a","b","f"))

peaks2 = RangedData(IRanges(start = c(967659, 2010898,2496700,3075866,3123260),
    end = c(967869, 2011108, 2496920, 3076166, 3123470),
    names = c("t1", "t2", "t3", "t4", "t5")),
    space = c("1", "2", "3", "1", "2"), strand = c(1, 1, -1,-1,1), feature=c("a","b","c","d","a"))

makeVennDiagram(RangedDataList(peaks1,peaks2, peaks1, peaks2), NameOfPeaks=c("TF1", "TF2","TF3", "TF4"),
     totalTest=100,useFeature=TRUE, main="Venn Diagram",
    col = "transparent",fill = c("cornflowerblue", "green", "yellow", "darkorchid1"),
    alpha = 0.50,label.col = c("orange", "white", "darkorchid4", "white", "white", "white", "white", "white", "darkblue", "white", "white", "white", "white", "darkgreen", "white"), cat.col = c("darkblue", "darkgreen", "orange", "darkorchid4"))
于 2012-09-27T13:26:07.610 に答える
0

3変数データの別のバージョンへの参照は次のとおりです:http: //elliotnoma.wordpress.com/2011/02/09/venn-diagram/

コードは、パッケージcolorfulVennPlotでも利用できます:http: //cran.r-project.org/web/packages/colorfulVennPlot/index.html

于 2013-01-31T19:17:11.957 に答える
0

VennDiagram パッケージをお勧めします: http://cran.r-project.org/web/packages/VennDiagram/VennDiagram.pdf

ページ 19 には、非常に優れた例 (高度な例と簡略化された例の両方) の 10 ページがあります。今のところ、必要なことでできないことは何も見つかりませんでした。

于 2014-03-21T13:52:20.007 に答える