1. ホーム
  2. r

Rで`scale`を理解する

2023-09-05 02:46:04

質問

の定義を理解しようとしています。 scale の定義を理解しようとしています。私はデータ ( mydata ) のデータがあり、ヒートマップを作成したいのですが、非常に強い正の傾きがあります。私は、両方のデンドログラムでヒートマップを作成しました。 scale(mydata)log(my data) であり、デンドログラムは両者で異なっています。なぜでしょうか?データをスケールすることと、データを対数変換することはどういう意味でしょうか?そして、私のデータの列間の関係を示すデンドログラムを見たい場合、どちらがより適切でしょうか?

どんなヘルプでもありがとうございます! 私は定義を読みましたが、それらは私の頭の上で大騒ぎしています。

どのように解決するのですか?

log は単に対数をとるだけです(ベース e デフォルトでは) を取るだけです。

scale は、デフォルトの設定で、ベクトル全体の平均と標準偏差を計算し、平均を引き、標準偏差で割ることによって、それらの値で各要素をスケーリングします(もし scale(x, scale=FALSE) を使用した場合、平均を引くだけで、標準偏差で割ることはありません)。

これは同じ値を与えることに注意してください

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

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

   scale(x)