Масштабировать вектор без среднего, сд, мин и макс

У меня асимметричное распределение:

x <- c(rnorm(100, 0, 1),
     rnorm(100, 2.5, 0.5))

Я хотел бы сдвинуть его так, чтобы старое значение "0" стало теперь 100, а старое значение "2" стало теперь "15". Тем не менее, я хотел бы сделать это без использования старых или новых значений min/max.

С использованием scale функция не присваивается, так как она сдвигает среднее значение к новому значению, и я хотел бы переместить определенное значение на новое. Я не могу сделать rescale не делай этого

  plot(density(scale(x)*15+100))
  plot(density(scales::rescale(x, from=c(0, 2), to=c(100, 15))))

1 ответ

Работает с масштабированием:

scales::rescale(x, from=c(0, 2), to=c(100, 100+15))

Другие вопросы по тегам