Вычислить матрицу сравнения списков с eVenn в R - PullRequest
0 голосов
/ 29 июля 2011

У меня есть несколько списков с парами столбцов пересекающихся элементов, здесь предположим, наборы 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. В примере с 4 путями eVenn списки уже находятся в таком объекте:

> 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)

Есть идеи?

1 Ответ

1 голос
/ 30 июля 2011

К сожалению, вашему примеру сложно следовать.Я бы посоветовал вам избегать использования пакета eVenn.Документация пакета очень ограничена, а примеры очень загадочны.Он не создает фигуры на стандартном дисплее X11 (в системах Unix) и выводит результаты только в файл.

Я бы посоветовал вам рассмотреть пакет limma, доступен от Биокондуктор .Он имеет функциональность для создания хороших диаграмм Венна.Вы можете увидеть некоторые примеры здесь .

Я думаю, что то, что вы называете create_the_merged_matrix_somehow(), будет решено с помощью vennCounts() в limma.

...