x ラベル、y ラベル、そして値を持つ行ごとに整理されたデータ ファイルがあります。基本的な構造は次のようになります。
Factor_1,Factor_2,Number
apple,apple,1
banana,apple,1
apple,kiwi,6
apple,pear,1
watermelon,apple,8
banana,banana,3
banana,kiwi,2
banana,pear,1
banana,watermelon,9
kiwi,kiwi,9
pear,kiwi,4
kiwi,watermelon,4
pear,pear,3
pear,watermelon,9
watermelon,watermelon,1
...
...
このデータを使用して、次のコードを使用して相関行列に似たものを構築しています。
library(ggplot2)
library(reshape2)
d <- read.csv("my_file", head=TRUE, sep="\t")
x <- dcast(d, Factor_1~Factor_2)
x.m <- melt(x)
x.m <- ddply(x.m, .(variable))
(p <- ggplot(x.m, aes(variable, Factor_1)) + geom_tile(aes(fill = value), colour = "black") + scale_fill_gradient(low = "black", high = "green")
上記のコードにより、次のようなプロットが得られます。
データを並べ替えて、すべてのデータが対角線の下にグループ化された次の形式のプロットを作成するにはどうすればよいですか?
A B K P W
W 1
P 3 9
K 9 4 4
B 3 2 1 9
A 1 1 6 1 8