我正在尝试使用软件包bwtrim
中的WRS2
函数进行方差分析,但它返回以下错误。
bwtrim(formula = Sumarea ~ Snumber * Day, id = id, data = CO2)
数据[[grp [i]]]中的错误:下标超出范围
据我从该网站的其他问题(例如Error in `[<-`(`*tmp*`, , subscript out of bounds subscript out of bounds)中了解到的信息,我试图将其称为“不存在”列。但是,我键入的每一列都存在于数据库中。
> head(CO2)
Sname Snumber Day Replica Diff Area Sumarea id
1 H4.8AxB 1 0 1 0 0 0 1
2 H4.8AxB 1 0 2 0 0 0 2
3 H4.8AxB 1 0 3 0 0 0 3
4 H4.8AxB 1 0 4 0 0 0 4
5 S141 2 0 1 0 0 0 5
6 S141 2 0 2 0 0 0 6
> tail(CO2)
Sname Snumber Day Replica Diff Area Sumarea id
511 II-1Q61L 14 28 3 400 12530 34505 511
512 II-1Q61L 14 28 4 0 0 40348 512
513 Straw 15 28 1 20 140 790 513
514 Straw 15 28 2 120 875 7435 514
515 Straw 15 28 3 130 700 7925 515
516 Straw 15 28 4 130 1050 8935 516
我还尝试过使用同一软件包中的sppbb
,返回不同的错误。
sppbb(formula = Sumarea ~ Snumber * Day, id, CO2, est = "onestep", nboot = 500)
xmat [,k] <-x [[kv]]中的错误: 要替换的项目数不是替换长度的倍数
我最后一次尝试是使用mranova
函数来分析数据库的一个子集。
c1 <- subset(CO2, subset = Snumber == "1")
data.frame(y,组,块)中的错误:找不到对象'Sumarea'
该列确实存在于我的数据库中。
Sname Snumber Day Replica Diff Area Sumarea id
1 H4.8AxB 1 0 1 0 0 0 1
2 H4.8AxB 1 0 2 0 0 0 2
3 H4.8AxB 1 0 3 0 0 0 3
4 H4.8AxB 1 0 4 0 0 0 4
61 H4.8AxB 1 3 1 1210 1815 1815 61
62 H4.8AxB 1 3 2 2150 3225 3225 62
63 H4.8AxB 1 3 3 1600 2400 2400 63
64 H4.8AxB 1 3 4 1910 2865 2865 64
117 H4.8AxB 1 4 1 6280 3745 5560 117
118 H4.8AxB 1 4 2 6990 4570 7795 118
119 H4.8AxB 1 4 3 6440 4020 6420 119
120 H4.8AxB 1 4 4 6150 4030 6895 120
177 H4.8AxB 1 5 1 3820 5050 10610 177
178 H4.8AxB 1 5 2 5420 6205 14000 178
179 H4.8AxB 1 5 3 4780 5610 12030 179
180 H4.8AxB 1 5 4 5310 5730 12625 180
237 H4.8AxB 1 6 1 2320 3070 13680 237
238 H4.8AxB 1 6 2 2700 4060 18060 238
239 H4.8AxB 1 6 3 1900 3340 15370 239
240 H4.8AxB 1 6 4 2520 3915 16540 240
297 H4.8AxB 1 7 1 1240 1780 15460 297
298 H4.8AxB 1 7 2 1870 2285 20345 298
299 H4.8AxB 1 7 3 1350 1625 16995 299
300 H4.8AxB 1 7 4 1480 2000 18540 300
361 H4.8AxB 1 10 1 460 2550 18010 361
362 H4.8AxB 1 10 2 910 4170 24515 362
363 H4.8AxB 1 10 3 810 3240 20235 363
364 H4.8AxB 1 10 4 770 3375 21915 364
425 H4.8AxB 1 14 1 0 0 27975 425
426 H4.8AxB 1 14 2 820 3460 27975 426
427 H4.8AxB 1 14 3 580 2780 23015 427
428 H4.8AxB 1 14 4 530 2600 24515 428
我将非常感谢为我提供总体统计分析解决方案的人,尤其是让bwtrim
函数正常工作的人。
我认为这种混合模型是我必须用于数据的模型(对象内部变量=副本,主体间=应变和时间,我不知道该在哪里放置)
答案 0 :(得分:0)
对我来说,解决方案是删除我的中间因子中未使用的因子水平。这些是子集化的结果。
那么你可以检查一下你的数据是什么样子的:
str(data)
对于以下因素,您可以通过比较来检查您是否有未使用的级别:
nlevels(data$factorcolumn)
与
length(unique(data$factorcolumn))
如果它们不同,您可以使用
删除未使用的级别data$factorcolumn <- droplevels(data$factorcolumn)