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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:55:23