如何使用 min/max 在 R 中缩放矢量数据?

How to scale vector data in R using min/max?

想象一下,我在 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

我想 scale/normalize 向量中的每个值,使其介于 0 和 1 之间。数据集的 max 值将取值为 1,而 min value 将取值为 0。是否有任何现有的 functions/libraries 可以轻松实现它?

谢谢!

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

v1 <- 1:100
v2 <- (v1-min(v1))/(max(v1)-min(v1))
v2

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