将数值向量缩放到指定的平均值、最小值和最大值

问题描述

这应该是一个简单的问题...我希望将数字向量缩放到指定的平均值和范围

例如,我想将向量 x 缩放为均值 = 1,最小值 = 0,最大值 = 2。这是我的向量 x,最小值 = 0,最大值 = 1:

> x <- runif(100,1)
> mean(x)
[1] 0.4897899

我的第一个想法是缩放到均值 = 0,使用 scale(),然后加 1...但这并没有解决范围的问题:

> mean(scale(x)+1)
[1] 1

但是,这会导致负值:

> sum((scale(x)+1) < 0)
[1] 21

我的下一个想法是使用 scales::rescale(),但它似乎只有设置所需范围的参数。

这似乎是一个简单的问题,但我被难住了!任何帮助将不胜感激。

-亚历克斯。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)