2
all-vs-all比較からヒートマップを生成したい。私はすでにデータを0-1にスケーリングしています。しかし、私は比較のためだけに値を持っており、同じグループ(常に1)間の比較ではなく、つまり行列の半分を持ち、残りの半分と対角線を欠いています。 ヒートマップにggplot2が使用できる形式に変換するにはどうすればよいでしょうか?ggplot2でヒートマップをプロットするためのデータフレームを延長
これは私が持っているデータの一例である:
A B value
T1 T2 0.347
T1 T3 0.669
T2 T3 0.214
私は次は私がggplotのために必要なものであると仮定(またはggplotは何とかそれを生成することができれば、多分私は、ないですか?):
A B value
T1 T2 0.347
T1 T3 0.669
T2 T3 0.214
T2 T1 0.347
T3 T1 0.669
T3 T2 0.214
T1 T1 1
T2 T2 1
T3 T3 1
その後、私は私がこれを解決した
sorted<-data[order(data$A, data$B), ]
ggplot(sorted, aes(A, B)) +
geom_tile(aes(fill = value), colour = "white") +
scale_fill_gradient(low = "black", high = "red") +
を実行しますが、本当に悪い方法INVO(私があると仮定するもの)でしまいますループのためにlving。最初のデータフレームを2番目のデータフレームに変換するには、より良い方法が必要です。
乾杯
感謝を!それは私のバージョンよりはるかに優れています。 Rはすべてサブセット化と結合についてですが、それは... – ShellfishGene