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

使用hdnom包smart数据集调用nomogram函数报错,请求排查

问题分析:hdnom包中nomogram函数调用错误

首先看你遇到的错误提示:

Error in nomogram(fit, model.type = "aenet", x, time, event, x.df, lambda = lambda, : factor name(s) not in the design: model.type x time event x.df lambda pred.at

这个错误的核心原因非常明确:你混淆了rms包和hdnom包的nomogram函数,并且传入了一堆当前调用函数不支持的参数。

具体问题拆解

  1. 你加载了rms包后直接调用nomogram(),此时R会默认使用rms::nomogram。但rms::nomogram的参数列表里根本没有model.type、x、time、event这些选项——这些是hdnom::nomogram专属的参数,R会把这些不认识的参数当成要映射的变量,自然会报错说“因子名不在设计里”。
  2. 你传入的x.df也是多余的,不管是哪个包的nomogram函数都不需要这个参数。

修正方案

根据你的场景(用hdnom::fit_aenet训练的模型),正确的做法是明确调用hdnom包的nomogram函数,参数按照它的要求传递:

# 确保加载hdnom包(如果没加载的话)
library(hdnom)

# 调用hdnom的nomogram,移除多余的x.df参数
nom = hdnom::nomogram(
  fit = fit, 
  model.type = "aenet", 
  x = x, 
  time = time, 
  event = event, 
  lambda = lambda, 
  pred.at = 365 * 2, 
  funlabel = "2-Year Overall Survival Probability"
)

# 绘制列线图
plot(nom)

额外提醒:你之前设置的datadist和options(datadist = "dd")是给rms包的模型用的,用hdnom的nomogram时完全不需要,建议把这两行代码删掉,避免不必要的干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 07:12:31