我试图理解R提供的scale
的定义。我有要与之作热图的数据(mydata
),并且存在非常强的正偏斜。我为scale(mydata)
和log(my data)
创建了一个带有树状图的热图,并且两个树状图均不同。为什么?缩放数据而不是对数转换数据意味着什么?如果我想查看显示数据列之间关系的树状图,哪一种更合适?
谢谢您的帮助!我已经阅读了定义,但它们笼罩着我。
log
只是取向量每个元素的对数(默认为底数e
)。scale
,使用默认设置,将计算整个矢量的平均值和标准偏差,然后通过减去平均值并除以sd,用这些值“缩放”每个元素。 (如果使用scale(x, scale=FALSE)
,它将仅减去均值,而不是除以std偏差。)
注意,这将为您提供相同的值
set.seed(1)
x <- runif(7)
# Manually scaling
(x - mean(x)) / sd(x)
scale(x)
它仅提供数据的[[标准化]]。它创建的值在几种不同的名称下是已知的,其中之一是z-scores(“ Z”,因为正态分布也称为“ Z分布”)。]可以在这里找到更多信息: