ggplot2热图缩放行

时间:2015-06-17 20:59:59

标签: r ggplot2

我正在尝试制作热图。我有一个csv文件,其中包含许多时间点的样本列表和数据。所以它看起来像这样

Sample 1h 2h 3h 4h 5h 6h 7h
Test1 
Test2

除了更大,显然充满了数据。我的目标是制作一个热图,这样我就可以直观地看到早期时间点是否有更高的测量值。所以我真的不关心每个样本相对于彼此的值。我关心哪个时间点具有每个样本的最大值。

我可以制作一个热图,但我相当肯定,当它缩放时,它会缩放每一列。但是对于我想做的事情,我相信应该扩展每一行。我该怎么做呢?谢谢

library(ggplot2)
library(reshape)
library(scales)
library(plyr)
library(reshape2)

data <- read.table('HB-1ng-1.5000.matrix', header = T, sep = '\t')
data.m <- melt(data)
data.m <- ddply(data.m, .(variable), transform, rescale =     scale(value))
p <- ggplot(data.m, aes(variable, Sample)) + geom_tile(aes(fill = rescale), colour = "white") + scale_fill_gradient(low = "white", high = "steelblue")

1 个答案:

答案 0 :(得分:2)

融化前如何重新缩放:

dataRowNorm <- t(apply(data, 1, function(x) x/sum(x)))

然后融化,可能重命名列并传递给ggplot。