如何将值重新调整到特定范围?
How to rescale value to a specific range?
我正在尝试将包含在 0.17 和 0.00002589 之间的 Rdata 数据集重新调整为 0 和 1 之间的范围。我希望累积频率等于 1。
我尝试使用函数 rescale(来自 scales 包):
library(scales)
t <-rescale(df, to = c(0,1)) #data go from [0.00002589:0.17] to [0.53:0.00004914]
cumsum(t)= 4.24...
如何更正我的数据以使 cumsum 等于 1?
感谢您的帮助。
您可以添加
t <- t / sum(t)
例如:
set.seed(42)
df <- rnorm(n = 10, 1)
t <- scales::rescale(df, to = c(0,1))
t <- t / sum(t)
cumsum(t)
#[1] 0.1740706 0.1740706 0.2575087 0.3652035 0.4523411 0.4935800
# [7] 0.6802913 0.7225612 0.9548573 1.0000000
我正在尝试将包含在 0.17 和 0.00002589 之间的 Rdata 数据集重新调整为 0 和 1 之间的范围。我希望累积频率等于 1。
我尝试使用函数 rescale(来自 scales 包):
library(scales)
t <-rescale(df, to = c(0,1)) #data go from [0.00002589:0.17] to [0.53:0.00004914]
cumsum(t)= 4.24...
如何更正我的数据以使 cumsum 等于 1?
感谢您的帮助。
您可以添加
t <- t / sum(t)
例如:
set.seed(42)
df <- rnorm(n = 10, 1)
t <- scales::rescale(df, to = c(0,1))
t <- t / sum(t)
cumsum(t)
#[1] 0.1740706 0.1740706 0.2575087 0.3652035 0.4523411 0.4935800
# [7] 0.6802913 0.7225612 0.9548573 1.0000000