为什么缩放数据不会反映在heatmap.2图中

时间:2013-12-10 05:24:49

标签: r plot

我想用热图绘制数据。 但在绘图之前,我想用我自己的函数来扩展它们。

这是完整的代码:

library("gplots")
mydata <- mtcars


# Functions
hclustfunc <- function(x) hclust(x, method="complete")
distfunc <- function(x) dist(x,method="euclidean")


# My own scaling function
customize.zscore <- function(x,cust.mean=1,cust.sd=1) {
    themean <- cust.mean
    thesd <- cust.sd
    z <- (x - themean) / (thesd)
    return (z)
}


mean.all <- mean(as.vector(t(mtcars)));
sd.all<- sd(as.vector(t(mtcars)));


# Scale the data
dat.1 <- as.data.frame(t(apply(mtcars,1,function(x) customize.zscore(x,cust.mean=mean.all,cust.sd=sd.all))))
head(dat.1)

# Plot the scaled data
heatmap.2(as.matrix(dat.1),dendrogram="row",trace="none", margin=c(8,9), hclust=hclustfunc,distfun=distfunc);

正如您在head(dat.1)的输出中所看到的那样,数据的正确缩放范围是从 -0.4703658至5.134808。

但为什么下面的情节没有反映出来呢? 正如你在ColorKey中看到的那样,值的范围是0到5?

enter image description here

0 个答案:

没有答案