1. ホーム
  2. r

[解決済み] Rで、ベクトルを単位ベクトルにスケーリングする最も簡単な方法は何ですか?

2022-02-14 22:45:21

質問

Rで、ベクトルを単位ベクトルにスケーリングする最も簡単な方法は何ですか?

例えば、次のようにします。

>vec
[1] 1 0 2 1

そして

>vec / sqrt(sum(vec^2)) 
[1] 0.4082483 0.0000000 0.8164966 0.4082483

はその単位ベクトルです。

Rにこのための組み込み関数はないのでしょうか?

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

自分で関数を作ればいいんだよ。

scalar1 <- function(x) {x / sqrt(sum(x^2))}

あとは使うだけ。

> scalar1(vec)
[1] 0.4082483 0.0000000 0.8164966 0.4082483