首页 > 解决方案 > 使用 MVN 包时如何修复错误“缺少参数“modelName”,没有默认值”

问题描述

我正在使用MVNR 中的包来查找数据集的每个类是否iris是多元正态的。我在当天早些时候使用了下面的代码并从中生成了结果。但是,我去重新访问它,现在不断收到以下错误消息:

Error in mvn(data = iris[Species == m[1], 1:4], mvnTest = c("mardia")) : 
  argument "modelName" is missing, with no default

无法弄清楚这意味着什么以及如何解决它!

代码:

#Mardia's Test
SM<-mvn(data=iris,subset="Species", mvnTest="mardia")

SM$multivariateNormality

SetosaPlot<-mvn(data=iris, subset="Species", multivariatePlot="qq")

标签: rmavenmultivariate-testingiris-dataset

解决方案


你加载了mclust包。当你这样做时,你应该看到一个警告

以下对象被“package:MVN”屏蔽:mvn

所以现在mvn()是调用mclust::mvn()(即包mvn中的函数mclust)而不是MVN::mvn().

  • 一般来说,您可以确保从MVN包中获取版本,方法是使用
MVN::mvn(data=iris, subset="Species", multivariatePlot="qq")
  • 如果您想知道 R 在哪里找到mvn,请尝试find("mvn")
  • 一般来说,要解决这些类型的问题,您应该启动一个干净的 R 会话,这样您就知道您开始时没有加载任何包。

(顺便说一下,没有真正的数据集是真正的多元正态;你不是在测试“它是否是 MVN”,而是它是否足够接近 MVN,以至于你不能拒绝多元正态的零假设... )


推荐阅读