在R中,将向量缩放到单位向量的最简单方法是什么?

Tom*_*Tom 6 scaling r vector

在R中,将向量缩放到单位向量的最简单方法是什么?

例如,假设

>vec
[1] 1 0 2 1
Run Code Online (Sandbox Code Playgroud)

>vec / sqrt(sum(vec^2)) 
[1] 0.4082483 0.0000000 0.8164966 0.4082483
Run Code Online (Sandbox Code Playgroud)

是它的单位向量.

R中有一些内置函数吗?

小智 7

你可以让自己成为一个功能:

scalar1 <- function(x) {x / sqrt(sum(x^2))}
Run Code Online (Sandbox Code Playgroud)

现在只需使用:

> scalar1(vec)
[1] 0.4082483 0.0000000 0.8164966 0.4082483
Run Code Online (Sandbox Code Playgroud)