2
最近我使用R包nparcomp
,我用它来测试我的响应变量在类别之间的显着差异。R包中的数据集限制“nparcomp”
我发现nparcomp
函数不能处理大尺寸的数据(行数> 5000)。例如,这是我的代码:
a<-nparcomp(oc20_kgm2~ decade, data=dat, asy.method = "mult.t",
type = "Tukey",alternative = "two.sided",
plot.simci = TRUE, info = FALSE)
summary(a)
其中,oc20_kgm2
是我的响应变量,decade
是我的因子(具有10个类别),dat
是我的数据集。我的原始数据集大约有15,000行/样本。如果我运行上面的代码,错误显示:
Error in checkmvArgs(lower = lower, upper = upper, mean = delta, corr = corr, :
‘lower’ not specified or contains NA
In addition: There were 49 warnings (use warnings() to see them)
所以诊断,我不得不随机我原来dat
选择000个样本。然后我运行上面的相同代码,它工作。另外,5,500个样本或10,000个样本不起作用。
我的问题是,是否有运行此功能的样本量的限制?还有我可以在R中使用的其他测试函数/包吗?看完后评论
修订:
traceback()
4: stop(sQuote("lower"), " not specified or contains NA")
3: checkmvArgs(lower = lower, upper = upper, mean = delta, corr = corr,
sigma = sigma)
2: pmvt(lower = -abs(T[pp]), abs(T[pp]), corr = rho.bf, df = df.sw,
delta = rep(0, nc))
1: nparcomp(oc20_kgm2 ~ decade, data = dat2, asy.method = "mult.t",
type = "Tukey", alternative = "two.sided", plot.simci = TRUE,
info = FALSE)
> warnings()
Warning messages:
1: In n[j] * n[w] * n[i] : NAs produced by integer overflow
2: In n[i] * n[w] * n[j] : NAs produced by integer overflow
3: In n[i] * n[v] * n[j] : NAs produced by integer overflow
4: In cov2cor(cov.bf) :
diag(.) had 0 or NA entries; non-finite result is doubtful
您可以在得到错误后发布“traceback()”的输出。另外,你是否输入了'warnings()'来查看其他49个错误是什么?最后,您是否使用过'debugonce(nparcomp)'来尝试并遍历代码并查看函数如何失败? – nograpes