4

こんにちは、R を使用してヒートマップを作成していheatmap.2ます。RowSideColors オプションを使用したいと思います。ただし、行の色のベクトルを簡単に作成する方法がわかりません。行はバクテリアを表し、色付けに使用したいバクテリアに関する情報を含むデータフレームがあります。Bact_Phylo_Info$Phylumまたは k を使用してカラー ベクトルを作成します。

> str(Bact_Phylo_Info)
'data.frame':   33 obs. of  3 variables:
 $ Phylum: Factor w/ 7 levels "Actinobacteria",..: 4 3 3 2 2 2 2 2 5 5 ...
 $ Order : Factor w/ 10 levels "Bacteroidales",..: NA 4 4 1 1 1 1 1 NA 5 ...
 $ Family: Factor w/ 13 levels "Anaplasmataceae",..: NA 4 4 NA 11 2 11 12 NA NA ...

たとえば、以下のクレイジーなループなど、いくつか試してみましたが、見逃している簡単な方法があるに違いないと思います。どんな助けでも感謝します。

BactPhyColors <- sapply(Bact_Phylo_Info$Phylum,
    if (Bact_Phylo_Info$Phylum == levels(Bact_Phylo_Info$Phylum)[i]),
        rainbow(length(levels(Bact_Phylo_Info$Phylum)))[i]
}
)
4

1 に答える 1