R语言使用hlme函数建模报错undefined columns selected原因求解
hlme函数报错排查方案
你遇到的undefined columns selected报错常见可排查方向如下:
- 优先检查
lcmm包版本,旧版本hlme函数存在无法正确解析公式内嵌套poly()等变换生成的临时变量的已知bug,可先更新包后重试:
update.packages("lcmm")
- 检查数据集
WK是否为tibble类型,hlme对tibble兼容性较差,可先转换为普通数据框后重试:
WK <- as.data.frame(WK)
- 避免在公式内直接嵌套
poly(),提前将多项式项生成后存入数据集再调用,可解决大部分公式解析问题:
# 提前生成三次正交多项式项 poly_term <- poly(WK$TIME_QRT, degree = 3, raw = FALSE) WK$poly1 <- poly_term[,1] WK$poly2 <- poly_term[,2] WK$poly3 <- poly_term[,3] # 重新运行模型 m1a <- hlme(GFR_QRT_MEAN ~ poly1 + poly2 + poly3, random = ~ 1, subject = "ID", data = WK, ng = 1)
- 检查数据集是否存在带特殊字符、空格的列名,或全空/全NA的无效列,即使你用到的三个字段正常,其他无效列也可能触发
hlme的索引逻辑报错,可先仅保留所需字段后重试:
WK_sub <- WK[, c("GFR_QRT_MEAN", "TIME_QRT", "ID")] m1a <- hlme(GFR_QRT_MEAN ~ poly(TIME_QRT, degree = 3, raw = F), random = ~ 1, subject = "ID", data = WK_sub, ng = 1)
内容的提问来源于stack exchange,提问作者fliang
相关产品推荐
相关产品推荐

