0

我有许多列表,其中包含成对的相交元素列,这里假设集合 1、2、3 可以具有 1 对 1、1 对多和多对多的关系:

df1 = data.frame(
    X1 = paste('set100',sample(10,8,replace=TRUE),sep=''),
    X2 = paste('set200',sample(10,8,replace=TRUE),sep='')
)

df2 = data.frame(
    X1 = paste('set100',sample(10,8,replace=TRUE),sep=''),
    X3 = paste('set300',sample(10,8,replace=TRUE),sep='')
)

df3 = data.frame(
    X2 = paste('set100',sample(10,8,replace=TRUE),sep=''),
    X3 = paste('set300',sample(10,8,replace=TRUE),sep='')
)

我想创建一个两列列表的合并矩阵,以将它们用作 eVenn 的输入。在 eVenn 的 4-way 示例中,列表已经在这样的对象中:

> head(res3)
         liste_1_.194. liste_2_.149. liste_3_.366. Total_lists   ratios
10345445             1             0             0           1 2.159987
10345762             1             1             0           2 2.223848
10345791             1             1             1           3 2.519503
10345824             0             0             0           0       NA
10346191             0             0             0           0       NA
10346843             0             0             0           0       NA
           ratios    ratios
10345445       NA        NA
10345762 2.085687  2.264225
10345791 2.518024  2.668271
10345824       NA 36.246703
10346191       NA  2.527424
10346843       NA  3.852753

我希望能够像这样对合并数据调用 eVenn 命令:

mergedmatrix <- create_the_merged_matrix_somehow(df1,df2,df3)
evenn(path_lists="test",res=mergedmatrix,ud=TRUE)

有任何想法吗?

4

1 回答 1

1

不幸的是,你的例子很难遵循。我建议您避免使用该eVenn软件包。软件包文档非常有限,示例非常神秘。它不会在标准 X11(在 unix 系统上)显示中生成图形,并且只会将结果打印到文件中。

我建议您考虑从Bioconductor获得limma的包装。它具有制作漂亮的维恩图的功能。您可以在此处查看一些示例。

我猜你所说create_the_merged_matrix_somehow()的将通过vennCounts()in解决limma

于 2011-07-30T16:21:03.273 回答