R:需要使用双向(阶乘)MANOVA-I'执行boxM()的示例;我犯了一个错误

R:需要使用双向(阶乘)MANOVA-I'执行boxM()的示例;我犯了一个错误,r,covariance,manova,covariance-matrix,R,Covariance,Manova,Covariance Matrix,我试着对协方差矩阵的同质性进行Box的M检验,对双向MANOVA 从昨天下午开始,我一直在搜索一个示例。我看到了许多将boxM与单向MANOVA结合使用的示例。在每种情况下,如果源还包括双向MANOVA,则不包括演示在双向情况下运行boxM测试。我只需要一个有效的例子。一旦我有了语法,我就可以让它工作了 biotools软件包中的boxM函数表示它用于一个分类因子(单向MANOVA)。 heplots包中的boxM函数表示它与一个或多个分类因子一起工作-- --然而,当我尝试使用它时,我得到

我试着对协方差矩阵的同质性进行Box的M检验,对双向MANOVA

从昨天下午开始,我一直在搜索一个示例。我看到了许多将boxM与单向MANOVA结合使用的示例。在每种情况下,如果源还包括双向MANOVA,则不包括演示在双向情况下运行boxM测试。我只需要一个有效的例子。一旦我有了语法,我就可以让它工作了

biotools软件包中的boxM函数表示它用于一个分类因子(单向MANOVA)。

heplots包中的boxM函数表示它与一个或多个分类因子一起工作--

--然而,当我尝试使用它时,我得到了一个错误:“模型必须是完全交叉的公式而已。”

下面,我将说明,单独使用任一因子都不会产生错误,但任何交叉因子的安排都会产生此错误。注意:在运行Levene的测试时,如果变量交叉,则不会出现此错误

响应1、响应2和响应3是连续的。
Factor1有两个级别。因子2有5个级别

library(heplots)

> Model2 <- lm(cbind(Response1, Response2, Response3) ~ Factor1, data=Data40)
> boxM(Model2)

    Box's M-test for Homogeneity of Covariance Matrices

data:  Y
Chi-Sq (approx.) = 3.5562, df = 6, p-value = 0.7365

> Model2 <- lm(cbind(Response1, Response2, Response3) ~ Factor2, data=Data40)
> boxM(Model2)

    Box's M-test for Homogeneity of Covariance Matrices

data:  Y
Chi-Sq (approx.) = 35.079, df = 24, p-value = 0.06724

> Model2 <- lm(cbind(Response1, Response2, Response3) ~ Factor1 * Factor2, data=Data40)
> boxM(Model2)
Error in boxM.formula(formula(Y), data = eval(data, envir = environment(formula(Y))),  : 
  Model must be completely crossed formula only.

> Model2 <- lm(cbind(Response1, Response2, Response3) ~ Factor1 + Factor2 + Factor1 * Factor2, data=Data40)
> boxM(Model2)
Error in boxM.formula(formula(Y), data = eval(data, envir = environment(formula(Y))),  : 
  Model must be completely crossed formula only.

> Model2 <- lm(cbind(Response1, Response2, Response3) ~ Factor1 + Factor2 + Factor1:Factor2, data=Data40)
> boxM(Model2)
Error in boxM.formula(formula(Y), data = eval(data, envir = environment(formula(Y))),  : 
  Model must be completely crossed formula only.
library(heplots)
>型号2 boxM(型号2)
协方差矩阵齐性的Box M检验
数据:Y
卡平方比(近似值)=3.5562,df=6,p值=0.7365
>型号2 boxM(型号2)
协方差矩阵齐性的Box M检验
数据:Y
卡平方比(近似值)=35.079,df=24,p值=0.06724
>型号2 boxM(型号2)
boxM.formula(公式(Y),data=eval(数据,envir=environment(公式(Y))中出错,:
模型必须仅与公式完全交叉。
>型号2 boxM(型号2)
boxM.formula(公式(Y),data=eval(数据,envir=environment(公式(Y))中出错,:
模型必须仅与公式完全交叉。
>型号2 boxM(型号2)
boxM.formula(公式(Y),data=eval(数据,envir=environment(公式(Y))中出错,:
模型必须仅与公式完全交叉。

不知道软件包从未使用过它,但在几分钟的调查中,您可能会以一种它不喜欢的方式指定公式…使用
iris
,因为软件包作者使用了,而您没有提供任何数据

library(heplots)
#向iris添加虚假的第二个因子
协方差矩阵齐性的iris-Box M检验
#> 
#>数据:Y
#>卡平方比(近似值)=16.389,df=10,p值=0.08904
#第二个因素
boxM(cbind(萼片长度,萼片宽度,花瓣长度,花瓣宽度)~种,数据=鸢尾)
#> 
#>协方差矩阵齐性的Box M检验
#> 
#>数据:Y
#>Chi Sq(约)=140.94,df=20,p值<2.2e-16
#划线音符不包括'lm'`
boxM(cbind(萼片长、萼片宽、花瓣长、花瓣宽)~Species*无意义,data=iris)
#> 
#>协方差矩阵齐性的Box M检验
#> 
#>数据:Y
#>卡平方比(近似值)=169.1,df=50,p值=7.609e-15

1小时内查看2次。太好了。哈哈,这是一个非常具体的软件包,也是一个非常通用的问题,在数据或背景方面没有太多的内容……但请耐心等待。现在我看到这实际上应该是可行的。我退出了R-Studio,只加载了需要加载和转换数据的三个库,然后运行了boxM——神奇的是,完全相同的代码突然起作用了。--我以前在加载大量库时遇到过问题。我希望我知道如何判断何时出现这种情况。因此,我实际上运行了heplots::boxM,以防万一(这不是问题)。感谢您的帮助。