Нормализация данных в R
В настоящее время я изучаю QDA и использую программное обеспечение R для анализа моих данных.
Данные были загружены по ссылке ниже:
https://www.kaggle.com/uciml/pima-indians-diabetes-database
Я хочу проверить предположение QDA, то есть две группы нормально распределены по многомерным значениям, поэтому использовали приведенную ниже команду в R.
library(MVN)
group1 <- discrim[1:500, 1:8]
result<- mardiaTest(group1, qqplot = FALSE) #To check whether our data from group1 is MND
group2 <- discrim[501:765, 1:8]
result2 <- mardiaTest(group2, qqplot= TRUE)#To check whether our data from group2 is MND
Обе группы распределены ненормально, поэтому я хочу нормализовать данные и закодировал нижеследующее, чтобы нормализовать данные для первой группы.
x1bar <- t(t(as.vector(sapply(as.data.frame(group1),mean))))
x1bartilda<- (x1bar - mean(x1bar))/sd(x1bar)
Аналогично для группы 2, однако средний вектор X для группы 1 не дал результата, близкого к 0.
Может ли кто-нибудь помочь мне, какой путь вперед, пожалуйста?
1 ответ
Если вы хотите нормализовать со средним значением 0 и стандартным значением 1, вы можете использовать шкалу commmand.
Пример:
my_data <- data.frame(x = rnorm(10, 30, .2), y = runif(10, 3, 5))
my_data_scaled <- scale(my_data)
summary(my_data_scaled)
Результат:
x y
Min. :-1.91046 Min. :-1.59037
1st Qu.:-0.57552 1st Qu.:-0.39842
Median : 0.06104 Median : 0.01998
Mean : 0.00000 Mean : 0.00000
3rd Qu.: 0.47280 3rd Qu.: 0.84296
Max. : 1.74638 Max. : 1.10514
Среднее значение равно 0.