在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
多元正态分布的检验多元正态分布转自个人微信公众号【Memo_Cleon】的统计学习笔记:多元正态分布检验的R实现方法。 虽然我们可以通过边际分布来大体判断,有没有统计方法直接判断是否满足多元正态分布呢?当然,R有无所不能的“包”!比如程序包mvnormtest【函数mshapiro.test】、程序包mvShapiroTest【mvShapiro.Test】、程序包MVN【函数mvn】、程序包mvnTest【函数AD.test、CM.test、DH.test、HZ.test、R.test、S2.test等】、程序包mvtnorm【函数pmvnorm】、程序包energy【函数mvnorm.e、mvnorm.test、mvnorm.etest】…… 我们以mshapiro.test {mvnormtest}和mvn {MVN}为例演示多元正态分布检验的R实现方法。 mshapiro.test {mvnormtest}mshapiro.test(U):Performs the Shapiro-Wilk test for multivariate normality。U要求是数值型矩阵,且a matrix with number of columns (sample size) between 3 and 5000。因为在一般在录入时行表示观测/记录,列表示变量/字段,因此使用此函数需要先对行和列进行转置,转置函数为t(“矩阵或数据框”)。 示例:两组新生儿出生时的体重与身长数据如下。预对两组的体重和身高同时进行检验,可以考虑多元方差分析,应考察多元正态性。 **将数据调整成mshapiro.test的分析格式:**对数据框mn的行列进行转置 多元正态分析: 结果显示A组多元正态分布SW检验W=0.912,P mvn {MVN}mvn(data, subset = NULL, mvnTest = c(“mardia”, “hz”, “royston”, “dh”, “energy”), covariance = TRUE, tol = 1e-25, alpha = 0.5, scale = FALSE, desc = TRUE, transform = “none”, R = 1000, univariateTest = c(“SW”, “CVM”, “Lillie”, “SF”, “AD”), univariatePlot = “none”, multivariatePlot = “none”, multivariateOutlierMethod = “none”, bc = FALSE, bcType = “rounded”, showOutliers = FALSE, showNewData = FALSE)。Data为矩阵或数据框。 示例:10名肥胖患者在医生指导下服用药物减肥,按统一标准记录服药前和服药后1-4周的体重。 library(openxlsx) #调用程序包openxlsx 注:本例10行6列,列名为id、W0、W1、W2、W3、W4。分析时仅筛选列,行不进行筛选,U<-multivnorm[1:10,2:6]可以直接U<-multivnorm[2:6]或者U<-multivnorm[-1]都可以。 转自个人微信公众号【Memo_Cleon】的统计学习笔记:多元正态分布检验的R实现方法。 |
请发表评论