1. ホーム
  2. r

[解決済み】Rでデータ列を標準化する

2022-04-03 13:54:09

質問

というデータセットがあります。 spam 58列、約3500行のスパムメッセージに関連するデータを含んでいます。

将来的にはこのデータセットに対して線形回帰を実行する予定ですが、事前にいくつかの前処理を行い、列の平均がゼロで分散が単位となるように標準化したいと思います。

Rを使うのが一番いいと言われましたので、お伺いします。 Rでどのように正規化を行うか ? 私はすでにデータを適切にロードしており、このタスクを実行するためのパッケージまたはメソッドを探しています。

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

平均を0、標準偏差を1にしたいということだと思いますが、データがデータフレーム内にあり、すべての列が数値である場合、単純に scale 関数を使用することで、必要な処理を行うことができます。

dat <- data.frame(x = rnorm(10, 30, .2), y = runif(10, 3, 5))
scaled.dat <- scale(dat)

# check that we get mean of 0 and sd of 1
colMeans(scaled.dat)  # faster version of apply(scaled.dat, 2, mean)
apply(scaled.dat, 2, sd)

内蔵された関数を使うのは上品だ。 この猫みたいにね。