1

私はバイオ専攻で、R を使用して、どのヒトタンパク質 (uniprot) がさまざまな細菌株によって標的にされているかを示すいくつかの視覚化を生成します。

# sample data
human.uniprots <- c("P15311", "P0CG48", "Q8WYH8", "P42224", "Q9NXR8",
                    "P40763", "P05067", "P60709", "Q9UDW1", "Q9H160",
                    "Q9UKL0", "P26038", "P61244", "O95817", "Q09472",
                    "P15311","P05067", "P60709", "Q9UDW1", "Q9H160")
strains <- rep(c("A", "B", "C", "C"), each = 5)
final <- cbind(human.uniprots, strains)

共起マトリックス/ヒートマップを生成しようとしています...次のようなものです

h.map <- data.frame(matrix(nrow = length(unique(human.uniprots)),
ncol = length(unique(strains)) + 1))
h.map.cols <- c("human_uniprots", "A", "B", "C")
colnames(h.map) <- h.map.cols

...列には株があり、行にはタンパク質があり、データ フレームのセルには、タンパク質が株と相互作用する回数が入力されています。したがって、ひずみ A、B、および C がすべてユニプロットと相互作用する場合、それらはすべて、そのユニプロット行のセルで 3 の値を持つ必要があります。

一意のひずみと human_uniprots のタプルのリストを作成してから、入力したい行列からひずみと人間の uniprot のペアに一致するタプルを検索し、一致する場合は「1」を追加してみました...しかしR でタプルを操作する方法がわかりません。次に、これを見ました:

これは私が欲しいものですが、使用法や構文を理解していません... sparse() はRの関数でもありますか?

さらに...すべての株と相互作用するものですべてのタンパク質をランク付けするといいでしょう. したがって、すべての菌株と相互作用するすべてのタンパク質が一番上にあり、次に 2 つの菌株と相互作用するタンパク質、そして 1 つの菌株と相互作用するタンパク質が続きます...

4

3 に答える 3