【问题标题】:How to fix "Error in x[i, ] : subscript out of bounds" for ANOVA, Tukey HSD如何修复 ANOVA、Tukey HSD 的“x[i, ] 中的错误:下标越界”
【发布时间】:2015-10-03 19:23:53
【问题描述】:

我在使用 R 的 TukeyC 库时收到错误 "Error in x[i, ] : subscript out of bounds。

我正在尝试运行 ANOVA,然后运行 ​​Tukey HSD 事后测试。代码(如下)适用于我的初始数据集richORIG。

library(TukeyC)

avORIG <- with(richORIG, aov(rich ~ ClimDiv_ORIG, data=richORIG))
summary(avORIG)                             
tkORIG <- TukeyC(x=avORIG, which='ClimDiv_ORIG')
summary(tkORIG)
plot(tkORIG)

导致:

avORIG <- with(richORIG, aov(rich ~ ClimDiv_ORIG, data=richORIG))

> summary(avORIG)
               Df Sum Sq Mean Sq F value Pr(>F) 
ClimDiv_ORIG    8  488.7   61.09   76.17 <2e-16 ***
Residuals    1413 1133.2    0.80                                    

> tkORIG <- TukeyC(x=avORIG, which='ClimDiv_ORIG')
trace: TukeyC(x = avORIG, which = "ClimDiv_ORIG")

> summary(tkORIG)
Goups of means at sig.level = 0.05 
   Means G1 G2 G3 G4 G5
12  5.10  a            
23  4.70     b         
11  4.68     b         
22  4.50     b         
13  4.24        c      
21  4.03        c      
33  3.26           d   
32  3.14           d   
31  2.38              e

> plot(tkORIG)  ##I can't post the picture of the plot w/o appropriate reputation

我用我的rich2080 数据集再试一次

av2080 <- with(rich2080, aov(rich ~ ClimDiv_2080, data=rich2080))
summary(av2080)
tk2080 <- TukeyC(x=av2080, which='ClimDiv_2080')
summary(tk2080)
plot(tk2080)

但是得到下面的错误

> av2080 <- with(rich2080, aov(richtimestep ~ ClimDiv_2080, data=rich2080))

> summary(av2080)
               Df Sum Sq Mean Sq F value   Pr(>F)
ClimDiv_2080    8   16.2  2.0264   7.574 5.97e-10
Residuals    1416  378.9  0.2676                 

> tk2080 <- TukeyC(x=av2080, which='ClimDiv_2080')
trace: TukeyC(x = av2080, which = "ClimDiv_2080")

Error in x[i, ] : subscript out of bounds

该代码适用于我的所有其他数据集(例如:simpORIG, simp2080, shanORIG, shan2080 等)

我在提到我的问题时遇到了这个StackOverflow Q/A,但我无法弄清楚在我的特定情况下要更改哪些代码。

以下是调试菜单中可用的选项,但当我筛选 ls() 时,我不知道要更改哪个值...

Enter a frame number, or 0 to exit   

1: TukeyC(x = av2080, which = "ClimDiv_2080")
2: TukeyC.aov(x = av2080, which = "ClimDiv_2080")
3: make.TukeyC.test(r = r, MSE = MSE, m.inf = m.inf, ord = ord, sig.level
4: make.TukeyC.groups(dif)

我将如何解决此错误以获得我的结果?

【问题讨论】:

    标签: r statistics


    【解决方案1】:

    我遇到了这个确切的错误,但在基本统计数据包中使用了TukeyHSD() 函数。我不知道为什么会这样——简而言之,昨天它还在工作,而今天却不行。真的很奇怪……

    我删除了 stats 包 (BAD IDEA) 并希望重新安装它,但不能。最终,我通过下载最新的 R 版本并重新开始重新开始。

    抱歉,这不是更具体,但我无法解释为什么该功能突然不起作用,我认为 TukeyC() 的工作方式与 TukeyHSD() 非常相似

    就像在侏罗纪公园里,他们不得不重新打开电源:漫长、复杂和可怕......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多