如何使用最小/最大缩放 R 中的矢量数据?

Jan*_*lly 2 scaling r vector max min

想象一下,我在 R 中有一个值向量。它很长,但只是给你一个样本:

[1] 2782.779 2781.655 2780.531 2779.407 2778.282 2777.898 2777.514 
2777.130 2776.746 2776.471 2776.196 2775.921
[13] 2775.646 2775.055 2774.463 2773.872 2773.281 2774.238 2775.195 
2776.152 2777.109 2776.905 2776.701 2776.497
[25] 2776.293 2775.658 2775.024 2774.389 2773.755 2774.214 2774.673 
2775.132 2775.591 2777.585 2779.579 2781.574
[37] 2783.568 2787.358 2791.149 2794.940 2798.731 2802.518 2806.305 
2810.092 2813.879 2814.760 2815.641 2816.522
Run Code Online (Sandbox Code Playgroud)

我想缩放/归一化向量中的每个值,使其范围在 0 和 1 之间。max数据集的min值将取值为 1,该值将取值为 0。是否有任何现有的函数/库轻松实现这个?

谢谢!

ngh*_*ran 8

请注意,这里,归一化值 = (value-min)/(max-min)。所以试试这个:

v1 <- 1:100
v2 <- (v1-min(v1))/(max(v1)-min(v1))
v2
Run Code Online (Sandbox Code Playgroud)

要不就 v2 <- scales::rescale(v1, to=c(0,1))