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

在R中使用rms包绘制列线图:自定义轴标签方法咨询

自定义rms包列线图轴名称的方法

有两种常用方法可以实现rms包列线图的轴名称自定义:

方法一:修改datadist的变量标签

rms包生成列线图时,默认会调用datadist对象中存储的变量标签。你可以直接修改该对象的标签内容,之后重新生成列线图即可:

library(rms)
ddist <- datadist(data)
# 修改对应变量的标签
ddist$labels["Age Deceased"] <- "死者年龄"
ddist$labels["skull_fractures_i"] <- "颅骨骨折"
ddist$labels["intracranial_hemorrhage_i"] <- "颅内出血"
ddist$labels["brain_injuries_i"] <- "脑损伤"
# 更新全局datadist设置
options(datadist='ddist')

# 重新拟合模型(若之前已拟合,也可直接生成列线图)
mod.bi <- lrm(blunt_force_i2~
               `Age Deceased`+skull_fractures_i+intracranial_hemorrhage_i+brain_injuries_i,
             data)
# 生成列线图
nom.bi <- nomogram(mod.bi, fun=plogis, funlabel='钝性颅脑损伤风险')
plot(nom.bi)

方法二:使用nomogram函数的varname参数直接指定

如果不想修改全局的datadist,可以在调用nomogram()时,通过varname参数直接为每个变量设置自定义名称,变量名需与模型中的变量名完全匹配(包括带反引号的特殊命名):

library(rms)
ddist <- datadist(data)
options(datadist='ddist')

mod.bi <- lrm(blunt_force_i2~
               `Age Deceased`+skull_fractures_i+intracranial_hemorrhage_i+brain_injuries_i,
             data)
# 生成列线图时指定自定义轴名
nom.bi <- nomogram(mod.bi, 
                   fun=plogis, 
                   funlabel='钝性颅脑损伤风险',
                   varname=c(`Age Deceased`="死者年龄",
                             skull_fractures_i="颅骨骨折",
                             intracranial_hemorrhage_i="颅内出血",
                             brain_injuries_i="脑损伤"))
plot(nom.bi)

注意事项

  • 使用varname参数时,变量名必须和模型公式中的名称完全一致,比如带空格的变量Age Deceased要保留反引号。
  • 修改datadist后,记得执行options(datadist='ddist')让新的标签设置生效。

内容的提问来源于stack exchange,提问作者AlexH

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 15:54:42