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
相关产品推荐
相关产品推荐

