问题描述
我正在尝试为我使用 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
解决方法
我找到了我要找的东西。
我需要做的就是运行 print(dataplot)
,它生成了我的连续变量、优势比和上/下 95% 置信区间的数据框。
然后我只是将它写入一个 csv write.csv(dataplot,"Spline_values.csv")
,这就是我所需要的。谢谢!