了解R中的scale

问题描述 投票:51回答:3

我试图理解R提供的scale的定义。我有要与之作热图的数据(mydata),并且存在非常强的正偏斜。我为scale(mydata)log(my data)创建了一个带有树状图的热图,并且两个树状图均不同。为什么?缩放数据而不是对数转换数据意味着什么?如果我想查看显示数据列之间关系的树状图,哪一种更合适?

谢谢您的帮助!我已经阅读了定义,但它们笼罩着我。

r scale transformation heatmap
3个回答
79
投票

log只是取向量每个元素的对数(默认为底数e)。scale,使用默认设置,将计算整个矢量的平均值和标准偏差,然后通过减去平均值并除以sd,用这些值“缩放”每个元素。 (如果使用scale(x, scale=FALSE),它将仅减去均值,而不是除以std偏差。)

注意,这将为您提供相同的值

   set.seed(1)
   x <- runif(7)

   # Manually scaling
   (x - mean(x)) / sd(x)

   scale(x)

13
投票

它仅提供数据的[[标准化]]。它创建的值在几种不同的名称下是已知的,其中之一是z-scores(“ Z”,因为正态分布也称为“ Z分布”)。]可以在这里找到更多信息:

http://en.wikipedia.org/wiki/Standard_score


0
投票
这是一个较晚的补充,但我自己也在寻找有关标度函数的信息,尽管它可能也会对其他人有所帮助。
© www.soinside.com 2019 - 2024. All rights reserved.