我正在使用 Rstudio。我使用以下代码(从文档的示例代码复制)使用nomogram包中的函数创建了列线图: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)
Run Code Online (Sandbox Code Playgroud)
此代码生成列线图,但没有连接每个标度(称为等值线)的线来帮助从图中预测所需变量(“死亡风险”)。通常,列线图具有用于预测的等值线(例如来自维基百科)。但是在这里,我如何预测变量值?
编辑:
从文档:
列线图没有代表总和的线,但它有一条用于读取评分点的参考线(默认范围 0--100)。一旦阅读器手动合计点数,就可以在底部读取预测值。
我不明白这个。从点的规模来看,似乎应该在没有等值线的情况下进行预测。但是怎么样?有人可以用这个例子详细说明我如何阅读诺模图来预测所需的变量吗?非常感谢!
编辑 2(仅供参考):
在赏金的描述中,我说的是等值线。开始赏金时,我不知道该nomogram函数不提供等值线,而是具有积分比例。
| 归档时间: |
|
| 查看次数: |
3304 次 |
| 最近记录: |