0

交差する要素の列のペアを持つリストがいくつかあります。ここでは、1 対 1、1 対多、および多対多の関係を持つことができるセット 1、2、3 を想定しています。

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

そして、2 列のリストを結合したマトリックスを作成して、それらを eVenn の入力として使用したいと考えています。eVenn の 4 方向の例では、リストは既に次のようなオブジェクトになっています。

> 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 システムの場合) ディスプレイでは Figure を生成せず、結果をファイルに出力するだけです。

Bioconductorから入手できるlimmaパッケージを検討することをお勧めします。素敵なベン図を作成する機能があります。ここでいくつかの例を見ることができます。

あなたが呼んでいるものはincreate_the_merged_matrix_somehow()によって解決されると思います。vennCounts()limma

于 2011-07-30T16:21:03.273 に答える