R:无法针对多态正态性进行shapiro-wilk检验

时间:2019-07-16 07:14:11

标签: r statistics

我正在尝试使用mvnormtest软件包执行Shapiro-wilk测试:

mvnormtest::mshapiro.test(data)

但是有一个错误:

  

mshapiro.test(data)中的错误:U []不是矩阵的   列(样本量)在3到5000之间

尽管数据尺寸为40000x10,但它没有运行。

数据样本为:

structure(list(V1 = c(78.16, 99.19, 99.95, 102.44, 91.2, 0, 0, 0, 0, 0), V2 = c(9588736, 102400, 102400, 102400, 1593344, 4112384, 4112384, 4112384, 4112384, 4112384), V3 = c(149422080L, 145465344L, 138002432L, 137867264L, 103489536L, 81920L, 81920L, 81920L, 81920L, 81920L)), .Names = c("V1", "V2", "V3"), row.names = c(NA, 10L), class = "data.frame")

1 个答案:

答案 0 :(得分:0)

让我们生成一个包含6,000列的数据集:

df <- matrix(rnorm(6000 * 10), nrow=10)


> mvnormtest::mshapiro.test(df)
Error in mvnormtest::mshapiro.test(df) : 
  sample size must be between 3 and 5000

很明显,样本在行中,变量在列中。因此,问题在于您使用的测试版本中的消息令人困惑,错误地指出了“列”而不是“行”。我的版本(0.1-9)只是抱怨样本数量太大。

但是,我认为您仍然会遇到问题:您有40,000个变量和10个样本,这意味着mshapiro.test将遇到奇点问题。