我正在使用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)
此代码生成列线图,但没有连接每个比例(称为等值线)的线,以帮助从图中预测所需的变量(“死亡风险”).通常,列线图具有用于预测的等值线(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).