Как нормализовать данные в R
Это мои данные:
a b c d e f g
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
14.6 74529 720 4639.341 10039.323 0.3089194 0.00011135818
270.0 74529 720 4639.341 10039.323 0.3089194 0.00011135818
14.6 74529 720 4639.341 10039.323 0.3089194 0.00011135818
390.0 74529 720 4639.341 10039.323 0.3089194 0.00011135818
2000.0 74529 720 4639.341 10039.323 0.3089194 0.00011135818
2452.0 74529 720 4639.341 10039.323 0.3089194 0.00011135818
10315.0 74529 720 4639.341 10039.323 0.3089194 0.00011135818
190.6 74529 720 4639.341 10039.323 0.3089194 0.00011135818
1050.0 74529 720 4639.341 10039.323 0.3089194 0.00011135818
14.6 74529 720 4639.341 10039.323 0.3089194 0.00011135818
...
Допустим, я хочу создать новую переменную, добавив другие переменные. Однако, поскольку переменные не имеют сопоставимых масштабов, мне нужно их масштабировать. Распределения переменных не являются нормальными, и процесс нормализации также должен быть устойчивым к выбросам. Итак, как лучше всего нормализовать данные, чтобы я мог суммировать переменные для создания нового параметра для моих данных?
1 ответ
Использовать scale(x)
. Чтобы избавиться от выбросов, отбросьте масштабированные значения выше определенного порога, например,which(abs(scale(x))>3)
будет указывать данные дальше от среднего, чем на 3 SD
Сделайте это для каждого столбца и сформируйте объединение всех выбросов, которые необходимо исключить из всех столбцов, прежде чем продолжить.