You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kruskal-Wallis显著后运行DunnTest报错:条件长度大于1,求解决

解决DunnTest运行报错问题

问题原因

报错Error in if (tmp$Eclass != "factor") { : the condition has length > 1是因为你的group变量是有序因子(ordered factor),FSA::dunnTest在检查变量类型时,class(mast_cells$group)会返回c("ordered", "factor"),导致判断条件的向量长度大于1,触发错误。

解决方案

将有序因子转换为普通因子后,再运行dunnTest:

# 转换为普通因子,保留原有水平顺序
mast_cells$group <- factor(mast_cells$group, levels = c("1", "2", "3", "4"))

# 重新运行Dunn检验
library(FSA)
dunnTest(score ~ group,
         data = mast_cells,
         method="Benjamini-Yekuteili")

验证结果

转换后函数可正常执行,输出组间两两比较的校正后p值,满足多重比较的需求。

内容的提问来源于stack exchange,提问作者ghs101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:10:35