У меня асимметричное распределение:
x <- c(rnorm(100, 0, 1),
rnorm(100, 2.5, 0.5))
Я хотел бы сдвинуть его так, чтобы старое значение «0» теперь равнялось 100, а старое значение «2» теперь равнялось «15». Однако я хотел бы сделать это, не используя ни старые, ни новые минимальные/максимальные значения.
Использование функции scale
не подходит, поскольку она сдвигает среднее значение на новое значение, и я хотел бы сместить конкретное значение на новое. Я тоже не могу заставить rescale
сделать это.
plot(density(scale(x)*15+100))
plot(density(scales::rescale(x, from=c(0, 2), to=c(100, 15))))