Мне нужно преобразовать некоторые данные в "нормальную форму", и я прочитал, что Box-Cox может идентифицировать экспонента для преобразования данных.
Для чего я понял
car::boxCoxVariable(y)
используется для переменных ответа в линейных моделях, а
MASS::boxcox(object)
для формулы или моделируемого объекта модели. Итак, поскольку мои данные являются переменной фрейма данных, единственная функция, которую я нашел, я мог бы использовать:
car::powerTransform(dataframe$variable, family="bcPower")
Это правильно? Или я что-то упускаю?
Второй вопрос: что делать после того, как я получу
Estimated transformation parameters
dataframe$variable
0.6394806
Должен ли я просто умножать переменную на это значение? Я сделал это:
aaa = 0.6394806
dataframe$variable2 = (dataframe$variable)*aaa
а затем я запускаю тест shapiro-wilks для нормальности, но опять же мои данные, похоже, не следуют нормальному распределению:
shapiro.test(dataframe$variable2)
data: dataframe$variable2
W = 0.97508, p-value < 2.2e-16