9 |" i @" |& v0 j4 o* x: `. Hnricens(mdl.std= mstd, mdl.new = mnew, # E7 ~, L+ \' a. w+ K. k1 C
t0 = 2000, 3 l5 R U1 d0 U! ]7 B" O; S; ^ cut = c(0.3, 0.7),% z6 {/ Q, c9 _. ]" v: v
niter = 1000, ; j" x& Y0 \/ c( I% t5 ^# {# i updown = 'category')3 R- r% X. K, v9 l3 q1 Y9 u( y
' r0 y% |) a2 r! M1 r, I: C) F& wUP and DOWN calculation: ) t; C2 i* n# v1 N! F1 ^- \1 w #of total, case, and control subjects at t0: 312 88 1446 l. G! [5 @4 v) F3 N6 \1 _, H
, a" `7 c7 R; U$ ~ Reclassification Table for all subjects: 8 W0 d$ n1 B1 J$ U New 7 |9 E4 }, _. R0 X7 c) |; G p6 JStandard < 0.3 < 0.7 >= 0.74 O. l T2 T# t* d
< 0.3 202 7 0' [( X2 b& [2 d6 ^' J
< 0.7 13 53 6: l) e M4 d4 o" p- N/ J
>= 0.7 0 0 314 Q- w Y6 ^9 k
$ W4 n; h5 m; @0 p# F( m
Reclassification Table for case:8 [' ^" C' P9 y4 ^0 V7 p& w/ O# ~
New: h8 `( d! D. n( N q7 p
Standard < 0.3 < 0.7 >= 0.7 % Q R+ {. ^' z < 0.3 19 3 0' S- V5 q1 I' R
< 0.7 3 32 4; v1 S9 b9 x1 ]8 Y5 {& y
>= 0.7 0 0 27 ) L* w+ _3 T2 k. @) E9 U0 j+ r' u2 \; p( a# n
Reclassification Table for control:" |0 T8 g c0 N! R
New 0 _9 ]) M1 }3 UStandard < 0.3 < 0.7 >= 0.7 & ]- n/ \9 P& W < 0.3 126 3 0 \2 a5 b1 X) Y% g+ }$ ?4 Q < 0.7 5 7 2 ' _; \2 @" K$ } >= 0.7 0 0 1 6 X- C0 J- a2 y" f: M0 E' d 2 q9 ]. _' j4 X5 jNRI estimation by KM estimator: 6 c1 t& z" [5 U: r2 A5 Z9 `* h8 B! E; l; H, B
Point estimates: & Q" v# q$ B ^& Q Estimate ( G" I! e6 C* _1 Z, K6 QNRI 0.05377635 ( j8 W0 `/ a( rNRI+ 0.03748660 : {8 {9 |5 Y# M) t$ {1 ZNRI- 0.016289746 Y z/ X9 y6 r; f' C
Pr(Up|Case) 0.07708938$ u# N0 L8 }4 u _( M! P7 {
Pr(Down|Case) 0.03960278 5 v+ S5 o, h! d5 APr(Down|Ctrl) 0.04256352 7 s$ ~; D: h c) n/ ?( cPr(Up|Ctrl) 0.02627378 ( J, n8 J' P |! n! f. b! z6 N' l; W) h8 ^$ t
Now in bootstrap.. 3 Y( n/ i) v1 k! u" n2 r* D- P, L2 r3 ?
Point & Interval estimates:/ T2 }6 J7 l0 h+ [/ G8 C; n) @ w* ?
Estimate Lower Upper % Z% H4 ?% B! I0 O/ |% q# fNRI 0.05377635 -0.082230381 0.16058172 + y3 }0 H1 A# z! KNRI+ 0.03748660 -0.084245197 0.13231776+ L# F- r: \& r V. w
NRI- 0.01628974 -0.030861213 0.06753616( U- t- f2 n, G% B5 h" |
Pr(Up|Case) 0.07708938 0.000000000 0.19102291 % {- H& j$ S' T! G1 j4 tPr(Down|Case) 0.03960278 0.000000000 0.15236016: N8 }# a5 r0 T5 S; V) r5 `
Pr(Down|Ctrl) 0.04256352 0.004671535 0.09863170 & x* H! U& y2 DPr(Up|Ctrl) 0.02627378 0.006400463 0.05998424" [' {7 t! f8 k- V$ U5 r7 c
L) @3 m, R% u' w8 f9 S
1 . X$ s% g$ F+ u% @ 7 E$ n. R1 j$ \5 } c S' mSnipaste_2022-05-20_21-49-38* ?+ m) J; {* v% D+ U4 }
结果的解读和logistic的一模一样。 % ?0 z) `+ w% \( N( @ 7 ?) j5 ?" [0 H# [. ^survNRI包 ' q: v. j+ F% X; }# 安装R包, Q3 T+ C0 a7 t/ ~0 Z8 z
devtools::install_github("mdbrown/survNRI") $ c$ [: \4 ^3 Y7 [* V1 `( }+ ]6 P0 B1 i加载R包并使用,还是用上面的pbc数据集。 0 L$ d) b' Y$ a1 {$ O; J" d# d7 N6 o
library(survNRI)6 t+ P1 S, V1 t* p6 t1 C# @$ g
1 ; h8 h1 Z- v: ^## Loading required package: MASS 3 v7 J5 }, `# e) l6 w ^1 0 Y$ i! F* n( G3 ?, d4 plibrary(survival); \% r: u' f; ]
- ]7 R2 o: ?( ], Z. B6 K2 _# 使用部分数据1 _- ~1 M: _) j" h( S. n
dat <- pbc[1:312,] 2 o! o. i9 x$ O, K$ G* w wdat$status <- ifelse(dat$status==2, 1, 0) # 0表示活着,1表示死亡- {* ^: y2 e$ o: n
, Q; u. ]+ l3 ?# q
res <- survNRI(time = "time", event = "status", 0 C7 D8 e ]" r8 Q& s
model1 = c("age", "bili", "albumin"), # 模型1的自变量 + z2 y! g% p7 P) ]$ q+ H: ^ model2 = c("age", "bili", "albumin", "protime"), # 模型2的自变量7 t& x& ?* t* b) e( L$ c: Y
data = dat, 2 w3 o; _2 Y( {
predict.time = 2000, # 预测的时间点 ) m! B1 ]0 }* G J" O( F" O method = "all", & F9 ^( `) d7 B* o6 {( ^ bootMethod = "normal", ( ^ e4 U$ p% R/ v4 S" R6 D% A
bootstraps = 500, " A# s8 d t) G4 Z- x+ T alpha = .05)! K z* `+ ]1 }/ ?4 G
( y+ u/ m( J7 C. {
1 6 ~. A! M8 `2 I查看结果,$estimates给出了不同组的NRI以及总的NRI,包括了使用不同方法(KM/IPW/SmoothIPW/SEM/Combined)得到的结果;$CI给出了可信区间。. i6 P% A! x5 G3 `
" E' y" a6 ~5 V& Z: C" W i. m" Rres 3 |# N0 O. h2 R# D8 {1 & }/ r( c0 o, `) H6 n9 ]* J8 c## $estimates 4 ^- R, R) i/ X+ A# ~## NRI.event NRI.nonevent NRI 7 F0 k2 K' ? m" N; P## KM 0.20445422 0.3187408 0.5231951/ G8 E0 X% h9 h0 U; L0 `$ P
## IPW 0.22424434 0.3273544 0.5515987 * V( f2 h$ `% R7 a& D## SmoothIPW 0.19645006 0.3144263 0.5108763+ x# _6 G- A" D" H( v' @
## SEM 0.07478611 0.2632127 0.33799880 _0 c5 }. u4 p1 H4 W
## Combined 0.19633867 0.3143794 0.5107181, p# S' r2 p% W) @0 p3 d
## / p- i# N) P6 Z$ D9 m6 m7 ~## $CI ; r1 K/ ^0 E) X# {## $CI$NRI.event 3 F5 E+ L% {# T( x D9 G## KM IPW SmoothIPW SEM Combined ; g$ g) s" {( X9 u## lowerbound -0.03915924 -0.02185068 -0.04724202 -0.1162587 -0.0473723 ! j8 M, @1 L1 q9 [& p# s e! Y. F## upperbound 0.44806768 0.47033936 0.44014214 0.2658309 0.4400496 8 t: [4 x# U9 x' c, G## ]6 b7 Q0 c4 M" C: x## $CI$NRI.nonevent+ K0 Q5 F6 h# [) @2 C; u
## KM IPW SmoothIPW SEM Combined 4 s" u2 |9 ^2 Y/ w' N% `0 ]## lowerbound 0.1317108 0.1396315 0.1286685 0.08638933 0.1286426/ x7 S; h& \" j) @6 B% x
## upperbound 0.7102251 0.7393216 0.6966341 0.51482212 0.6964549! i/ I/ [& w5 Z, i1 T7 G
## 8 H% r; T) @5 B) ?- v* d4 m## $CI$NRI. Q5 @; C" g; g2 k7 H( E7 [' j
## KM IPW SmoothIPW SEM Combined ' b, {) s0 ~8 u4 A, f## lowerbound -0.05112533 -0.04569046 -0.05439863 -0.04132364 -0.05443409 ) w7 W U0 Y9 v& A. M## upperbound 0.89306122 0.92464359 0.87970125 0.64253510 0.87953153% Q' }8 f: U+ ~% U: u7 N
## % \0 J- n3 \% t: L7 C q9 y: u+ P## 1 J5 u2 m( z% V; d3 X## $bootMethod+ a* V# U/ H6 B: B. X7 \$ ^, P& A
## [1] "normal" 0 C/ m' N! [6 j3 p+ i: l9 I## * F. n1 m7 F1 b% Y/ ]
## $predict.time7 r( } { b* Z" P: y
## [1] 2000 ' n% s/ ]# A. _& @2 v## - o7 g+ U( q2 x0 m: Y1 w
## $alpha! w; o+ g. H7 J G* `
## [1] 0.050 p7 J0 b% E4 O! u% l p
## . e$ j# w/ E' v+ \) w$ |
## attr(,"class")( t" ^1 z- l) k* O2 r' W- E+ ^
## [1] "survNRI"$ z, @: Z2 ~! h5 s I2 G9 B2 A' k# i
Z+ I* t, L/ A- c1 % W6 M5 ~7 s+ mOK,这就是NRI的计算,除此之外,随机森林、决策树、lasso回归、SVM等,这些模型,都是可以计算的NRI的,后面会继续介绍。大家如果有问题欢迎在评论区留言。, O, F [! Z3 G0 l: x
) F; s% o$ E/ R本文首发于公众号:医学和生信笔记 z2 v! [& E5 Y3 P: y " ]: [6 o2 ~' X! C“ 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化。主要分享R语言做医学统计学、meta分析、网络药理学、临床预测模型、机器学习、生物信息学等。% P- m. J" u! J3 U" C
本文由 mdnice 多平台发布 & D7 p' i( n# a# Z* M———————————————— # x+ F! G2 \8 |& T) ^( P版权声明:本文为CSDN博主「阿越就是我」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。: m3 v! R i2 ?! V. m/ ]% K. ?
原文链接:https://blog.csdn.net/Ayue0616/article/details/1267680067 v% X1 I: H8 E, Q6 o; J
. M! v: T" Z" ?$ B) I. L7 T% q 9 K2 W5 _0 a2 t, `0 B