使用groupwiseHuber计算稳健ANOVA时遇长度不匹配错误
groupwiseHuber函数报错问题解答
报错信息
Error in list_to_dataframe(res, attr(.data, "split_labels"), .id, id_as_factor) : Results do not have equal lengths
1. 错误含义
该错误表示函数在将各分组的计算结果合并为数据框时,发现不同分组返回的结果列表长度不一致,无法生成结构规整的数据框。
2. 错误成因
结合提供的代码和数据,主要原因有两点:
- 变量名不匹配:代码中指定分组变量为
antifungal、分析变量为avg_rad,但数据框中对应的变量是x(分组)和y(分析变量)。变量名不匹配会导致部分分组无法提取有效数据,返回的结果结构异常。 - 存在无有效数据的分组:数据中
x="AMB"且dose="5"的分组包含5个NA值,没有任何有效观测。groupwiseHuber处理这类完全缺失的分组时,返回的结果字段(如均值、置信区间等)数量和有有效数据的分组不一致,最终触发合并数据框时的长度不匹配错误。
复现代码与数据
执行代码
Sum = groupwiseHuber(data = y2, group = c("antifungal", "dose"), var = "avg_rad", conf.level=0.95, conf.type="wald") Sum
数据框结构
structure(list(y = c(9.91e+08, 8.17e+08, 461200000, 15330000, 175100000, 50320000, 13590000, 22970000, 2778000, 3453000, 12890000, 375900000, 44590000, 1.611e+09, 1e+09, 889900000, 373200000, NA, NA, NA, NA, NA, 5010000, 6549000, 23160000, 32520000, 7707000, 556900000, 634600000, 820900000, 391400000, 498300000, 147900000, 646900000, 22060000, 1e+07, 306800000, 319400000, 41290000, 94100000, 127200000, 117200000, 618300000, 570700000, 617100000, 284900000, 449600000, 3866000, 6918000, 4177000, 14870000, 29380000, 2815000, 1619000, 3126000, 1710000, 2191000), x = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), levels = c("untreated", "VRZ", "AMB" ), class = "factor"), dose = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L), levels = c("0", "5", "20"), class = "factor")), row.names = c(NA, -57L), class = c("tbl_df", "tbl", "data.frame"))
内容的提问来源于stack exchange,提问作者mr.raccoon
相关产品推荐
相关产品推荐

