3

我是一个完整的新手,R如果这已经被问了无数次,请原谅我。我正在尝试按照这个示例heatmap进行使用,它们是.Rtsvs

这是一个例子。

name sam1 sam2
a     0.2  0
b     0.1  0.05
c     0.3  0.06

抱歉,我无法发布我得到的图表(因为我是新手)。

当制作图表时,比例在 0 到 1 之间(数据在 0 到 1 之间重新缩放heatmap),但是我的文件中没有任何大于 0.3 的值,因此我想知道是否有可能在 0 到 0.3 之间缩放heatmap。我不确定我是否在此处提供了足够的详细信息,如果我需要在此处提供更多详细信息,请告诉我。

基本上我正在使用

a <- read.table(file = "name", sep ="\t", header =T) 

a.m <- melt(a)

a.m <- ddply(a.m, .(variable), transform,  rescale = rescale(value))

(p <- ggplot(a.m, aes(variable, transposons)) + 
      geom_tile(aes(fill = rescale), colour = "yellow") + 
      scale_fill_gradient(low = "yellow",  high = "darkgreen"))

任何帮助都非常感谢,在此先感谢。

4

1 回答 1

3

默认情况下我们有 ?rescale

    rescale(x, to = c(0, 1), from = range(x, na.rm = TRUE))

这就是为什么您的值介于 0 和 1 之间的原因。只需将 min 和 max 指定为 ?rescale

a.m <- ddply(a.m, .(variable), transform,  
                    rescale = rescale(value,to=c(0,0.3))))
于 2012-12-24T09:09:55.133 回答