我想从WRS2包(https://rdrr.io/cran/WRS2/man/ancova.html)中运行一个健壮的ANCOVA。“比率”是我的DV,“诱饵”是预测因子,“会话”是协变量。
我使用以下函数:
ancova_model = ancova(ratio ~ bait + session, data = training_data)这是我的数据集:

但是,我得到以下错误消息:
if (nuhat < 2) stop(“自由度必须大于或等于2")中出错:缺少需要TRUE/FALSE的值此外:警告消息: 1:以最小为单位(subvecn >= 12):最小没有非缺少的参数;返回Inf 2:在最大值(subvecn >= 12):没有非缺少的参数到最大;返回-Inf
你知道我做错了什么吗?
发布于 2021-08-10 20:35:31
问题是,稳健的ANCOVA确定协变量的5个点,然后在每个点上对独立组执行袁氏t检验。因此,我怀疑在这样一个小样本中,两个组的协变量具有完全相同的值,可能会发生这样的情况,即每个组在每个点上都有一个观察值(因此df < 2)。对于每组只有一个观察值,不能计算t检验,因此也就产生了误差。
处理这种情况的一种方法是,您可以尝试更改协变量的点的数量和类型,以便像这样测量组比较:ancova(ratio ~ bait + session, data = training_data, pts = c(5,10))。这可能会给你一个结果,但也可能会抛出警告消息,表明测试进行时观察太少,这意味着你不能真正信任结果。
在我看来,协变量无论如何都没有多大意义。如果我没有记错的话,它只是显示了两组(水果和兔子)是在同一个会话中录制的。因此,这些群体实际上可能是相互依赖的。你可以用函数yuend代替依赖的袁亚非的t检验。
https://stackoverflow.com/questions/68709648
复制相似问题