R 4.2.2更新后ggforest()多变量Cox模型报名称匹配错误求助
R 4.2.2 + ggforest()多变量Cox模型名称匹配错误解决方案
问题详情
更新R至4.2.2版本、RStudio至2022.12.0+353版本后,在Mac M1(操作系统12.5.1)环境下,运行ggforest()可视化多变量Cox模型时触发名称匹配错误,此前代码可正常执行。单变量Cox模型使用ggforest()无异常,仅多变量模型报错。
代码示例
cx1 <- coxph(Surv(surv_time, surv_status) ~ mygrp + age + sex + educ, data =mydata) ggforest(cx1, data = mydata)
错误信息
Error in match.names(clabs, names(xi)) :
names do not match previous names
解决方案
更新依赖包
该错误多由survival和survminer包的版本兼容性问题导致,执行以下命令更新后重启R:install.packages("survival") install.packages("survminer")手动统一变量标签
若更新包后仍报错,可通过给变量添加一致标签解决名称匹配问题:library(Hmisc) # 为数据集中的变量设置标签 label(mydata$mygrp) <- "Group" label(mydata$age) <- "Age" label(mydata$sex) <- "Sex" label(mydata$educ) <- "Education" # 重建模型并绘图 cx1 <- coxph(Surv(surv_time, surv_status) ~ mygrp + age + sex + educ, data =mydata) ggforest(cx1, data = mydata)省略ggforest()的data参数
部分版本中显式传入data参数会引发名称匹配异常,尝试直接调用模型:ggforest(cx1)检查并清理变量名
确认数据集mydata中的变量名无空格、特殊符号(如中文、@、#),若存在,重命名变量:# 示例:重命名含特殊字符的变量 colnames(mydata)[colnames(mydata) == "变量名含空格"] <- "clean_var_name"
内容的提问来源于stack exchange,提问作者Mary
相关产品推荐
相关产品推荐

