2013-11-28 8 views
31

Rが提供するscaleの定義を理解しようとしています。ヒートマップを作成したいデータ(mydata)があり、非常に強い正のスキューがあります。私はscale(mydata)log(my data)の両方の樹状図を持つヒートマップを作成しました。樹状図は両方とも異なります。どうして?データのスケールを変えたり、ログを変えたりするのはどういう意味ですか?私のデータの列間の関係を示す樹形図を見たいのであれば、より適切でしょうか?Rのスケールについて理解してください

ありがとうございました!私は定義を読んだが、彼らは私の頭の上を叫んでいる。

答えて

54

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

注これはあなたに同じ値

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

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

    scale(x) 
+0

感謝を!しかし、スケール()の意義は何ですか?私の推論は、それを使用するために何ができますか(それはデータがよりよく見えるようにします)。私はちょうどスケールのポイント()を理解しようとしています。ありがとう! – Jen

+14

'scale'は、異なるスケール間で考慮する複数の変数を持つときにはより意味があります。例えば、1つの変数の大きさは100ですが、もう1つの変数の大きさは1000000です。 –

+10

@Jen:もう一つ(非常に失われます)方法について考えてみましょう。「スケール」を使用するとデータを変更するのではなく、スケール(プロット時の軸値)。 2つの端の軸をつかんで、伸ばしたり、圧縮したりしてください。それはスケールです。対照的に、 'log'は実際にデータを変更します。ログの影響は、値が大きいほど「強い」、値が小さいほど最小になります。 –

6

を与えることは何もなく、標準化を提供しないことをデータの作成する値はいくつかの異なる名前で知られており、そのうちの1つはz-score(正規分布は「Z分布」とも呼ばれるため "Z"です)です。もっと

はここで見つけることができます:答えのための

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

関連する問題