规范化R中的数据

时间:2017-01-22 08:18:42

标签: r normalization multivariate-testing

目前我正在研究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)

类似于group2,但是group1的平均向量X没有给出接近0的结果。

任何人都可以帮我解决前进的方向吗?

1 个答案:

答案 0 :(得分:0)

如果要使用均值0和标准1进行标准化,可以使用比例命令。

示例:

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.