我有许多列表,其中包含成对的相交元素列,这里假设集合 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)
有任何想法吗?