R:如何读取Nomograms以预测所需的变量

我正在使用Rstudio.我使用以下代码(从
documentation的示例代码复制)使用包rms中的函数列线图创建了列线图:

library(rms)
n <- 1000    # define sample size
set.seed(17) # so can reproduce the results
age            <- rnorm(n, 50, 10)
blood.pressure <- rnorm(n, 120, 15)
cholesterol    <- rnorm(n, 200, 25)
sex            <- factor(sample(c('female','male'), n,TRUE))


# Specify population model for log odds that Y=1
L <- .4*(sex=='male') + .045*(age-50) +
  (log(cholesterol - 10)-5.2)*(-2*(sex=='female') + 2*(sex=='male'))
# Simulate binary y to have Prob(y=1) = 1/[1+exp(-L)]
y <- ifelse(runif(n) < plogis(L), 1, 0)


ddist <- datadist(age, blood.pressure, cholesterol, sex)
options(datadist='ddist')


f <- lrm(y ~ lsp(age,50)+sex*rcs(cholesterol,4)+blood.pressure)
nom <- nomogram(f, fun=function(x)1/(1+exp(-x)),  # or fun=plogis
    fun.at=c(.001,.01,.05,seq(.1,.9,by=.1),.95,.99,.999),
    funlabel="Risk of Death")
#Instead of fun.at, could have specified fun.lp.at=logit of
#sequence above - faster and slightly more accurate
plot(nom, xfrac=.45)

结果:
《R:如何读取Nomograms以预测所需的变量》

此代码生成列线图,但没有连接每个比例(称为等值线)的线,以帮助从图中预测所需的变量(“死亡风险”).通常,列线图具有用于预测的等值线(example from wikipedia).但在这里,我如何预测变量值?

编辑:

从文档:

The nomogram does not have lines representing sums, but it has a
reference line for reading scoring points (default range 0–100). Once
the reader manually totals the points, the predicted values can be
read at the bottom.

我不明白这一点.似乎预测应该在没有等值的情况下从点的范围进行.但怎么样?有人可以详细说明我如何读取诺模图来预测所需的变量吗?非常感谢!

编辑2(仅供参考):

在赏金的描述中,我在谈论的是等值线.当开始赏金时,我不知道列线图功能不提供等值线并且具有点比例.

最佳答案 从文档中,诺模图用于手动获取预测:

在图的顶部(超过总点数)

>您为患者的每个变量画一条垂直线(例如年龄= 40,胆固醇= 220(和性别=男性),血压.压力= 172)
>然后,您总结在点数刻度(40 60 3 = 103)上读取的三个值,以获得总点数.
>最后,您在总分数刻度(103)上绘制一条垂直线,以读取死亡风险(0.55).
《R:如何读取Nomograms以预测所需的变量》

点赞