Подтвердить что ты не робот

Понимание "шкалы" в R

Я пытаюсь понять определение scale, которое предоставляет R. У меня есть данные (mydata), которые я хочу сделать с тепловой картой, и есть ОЧЕНЬ сильный положительный перекос. Я создал тепловую карту с дендрограммой для scale(mydata) и log(my data), а дендрограммы различны для обоих. Зачем? Что значит масштабировать мои данные, а лог преобразовывает мои данные? И что было бы более целесообразным, если бы я хотел посмотреть на дендрограмму, иллюстрирующую взаимосвязь между столбцами моих данных?

Спасибо за любую помощь! Я читал определения, но они кричат ​​над моей головой.

4b9b3361

Ответ 1

log просто берет логарифм (база e, по умолчанию) каждого элемента вектора.
scale, с настройками по умолчанию, рассчитает среднее и стандартное отклонение всего вектора, затем "масштабирует" каждый элемент этими значениями, вычитая среднее значение и разделив на sd. (Если вы используете scale(x, scale=FALSE), он будет вычитать только среднее значение, но не делить на отклонение std.)

Обратите внимание, что это даст вам те же значения

   set.seed(1)
   x <- runif(7)

   # Manually scaling
   (x - mean(x)) / sd(x)

   scale(x)

Ответ 2

Он не обеспечивает ничего, кроме стандартизации данных. Значения, которые он создает, известны под несколькими именами, один из которых является z-счетом ( "Z", потому что нормальное распределение также известно как "распределение Z" ).

Подробнее можно найти здесь:

http://en.wikipedia.org/wiki/Standard_score