全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3134 1
2016-01-29
如图 ,从一个5列的数据里,通过自己写的qqmultinorm函数得到的图,图中是经验分布函数的100个p值与[0,1]均匀分布的经验分布函数的比较。从这张图可以看出此数据集是多变量正态吗?

我已经用shapiro检验了,其中4个符合正态分布,1个不符合。。


贴一下这个函数的代码:
> qqmultinorm <- function(x,nproj=50,scale=T,plot.qq=F,plot.edf=F) {
+     p <- ncol(x)
+     if(scale) x <- scale(x,center=T,scale=T)
+     if(plot.qq) devAskNewPage(ask = T)
+     pvals <- NULL
+     for (i in 1:nproj) {
+         a <- rnorm(p)
+         a <- a/sqrt(sum(a^2))
+         y <- as.vector(x%*%a)
+         if (plot.qq) qqnorm(y)
+         r <- shapiro.test(y)
+         pvals <- c(pvals,r$p.value)
+     }
+     if (plot.edf) {
+         plot(ecdf(pvals),xlab="p-values",ylab="probability",
+              main=" ")
+         abline(0,1,lwd=2)
+     }
+     pvals
+ }
> r = qqmultinorm(cbind(mec,vec,alg,ana,sta),nproj=100,plot.edf = T)

附件列表
Rplot.png

原图尺寸 5.27 KB

Rplot.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-2-3 04:59:45
try test using: "nortest" package in R.  Compare with shapiro.test() result.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群