Rが提供するscale
の定義を理解しようとしています。ヒートマップを作成したいデータ(mydata
)があり、非常に強い正のスキューがあります。 scale(mydata)
とlog(my data)
の両方の樹状図でヒートマップを作成しましたが、樹状図は両方で異なります。どうして?データをログ変換するのではなく、データをスケーリングすることはどういう意味ですか?そして、データの列間の関係を示す樹状図を見たい場合、どちらがより適切でしょうか?
助けてくれてありがとう!私は定義を読みましたが、それらは私の頭の上で百日咳をしています。
log
は、単純にベクトルの各要素の対数(底はe
、デフォルト)を取ります。scale
は、デフォルト設定で、ベクトル全体の平均と標準偏差を計算し、平均を減算してsdで割ることにより、それらの値で各要素を「スケーリング」します。 (scale(x, scale=FALSE)
を使用すると、平均値のみが減算され、標準偏差では除算されません。)
これは同じ値を与えることに注意してください
set.seed(1)
x <- runif(7)
# Manually scaling
(x - mean(x)) / sd(x)
scale(x)
データの標準化以外は何も提供しません。作成される値はいくつかの異なる名前で知られています。そのうちの1つはz-scores( "Z"です。これは、正規分布が " Z分布」)。
詳細はここで見つけることができます: