如何在 rms 上的受限三次样条的赔率每次连续增加时找到 X 的值?

问题描述

我正在尝试为我使用 rms 包创建的受限三次样条在每个连续优势比(1、2、3 等)中找到 BMI 值。我正在努力寻找一种方法来做到这一点。我知道 summary 函数可用于查找从下到上四分位范围(或任何指定范围)的效果,但是,我想在我的 X 轴上找到值(例如) 的交叉点,赔率为 2.0,以及该点的 95% CI。有没有人有实现这一目标的经验或见解?

library(rms)

ddist <- datadist(df)
options(datadist='ddist')

k <- with(df,quantile(X,c(.05,0.25,0.50,.75,.95)))
k

ddist$limits["Adjust to","X"] <- 24.37

spline_model <- lrm(Y ~ rcs(X,k),data=df)  

summary(spline_model)

dataplot <- Predict(spline_model,BMI_NUM,ref.zero=TRUE,fun=exp)

下面是摘要输出

 Factor      Low    High   Diff.  Effect  S.E.    Lower 0.95 Upper 0.95
 BMI_NUM     21.239 28.147 6.9084 0.19187 0.10947 -0.022679  0.40642   
  Odds Ratio 21.239 28.147 6.9084 1.21150      NA  0.977580  1.50140 

enter image description here

解决方法

我找到了我要找的东西。

我需要做的就是运行 print(dataplot),它生成了我的连续变量、优势比和上/下 95% 置信区间的数据框。

然后我只是将它写入一个 csv write.csv(dataplot,"Spline_values.csv"),这就是我所需要的。谢谢!