crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

Real estate valuation data set の分析2 - R言語のscale関数でデータの標準化(min-max法)をする。

 

www.crosshyou.infoの続きです。

 前回はデータをR言語に読み込むところまでやりました。

今回はデータの標準化をします。

min-max法という手法で標準化します。

(データi - データの中の最小値) / (データの最大値 - データの最小値)

という計算式でデータiを標準化します。最小のデータが0に、最大のデータが1に標準化されます。

Step1としてapply関数とmin関数で最小値を求めます。

apply()関数とmin()関数で最小値を求める

Step2としてapply関数とmax関数で最大値を求めます。

apply関数とmax関数で最大値を求める

Step3としてscale関数で標準化します。centerが最小値、scaleが最大値 - 最小値です。

scale関数で標準化する

scale関数で処理すると、matrix型になるのでStep4としてas.data.frame関数でデータフレームに変換します。

as.data.frame関数でデータフレームに変換

Step5としてdfの1列目(No)と8列目(Y)をcbind関数でdf_scaledに結合します。

cbind関数で結合

Step6としてdf_scaledの1列目と8列目の列名をcolnames関数を利用して変更します。

colnames関数を利用して列名を変更

これで標準化できました。

summary関数でみてみましょう。

summary関数

X1からX6までがすべて最小値は 0、 最大値は 1になっていることがわかります。

今回は以上です。