Нормализация данных в 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.

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