Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取survfit对象每组的事件总数_R_Extract_Output_Survival Analysis - Fatal编程技术网

获取survfit对象每组的事件总数

获取survfit对象每组的事件总数,r,extract,output,survival-analysis,R,Extract,Output,Survival Analysis,我使用R的包生成了一个包含不同组的survfit对象 我知道我想访问每个组的事件数(即记录-右删失的) 当我使用print(survobject)时,有一列events显示每组的事件数。但是,我没有成功地将此列提取为向量 str( Surv(heart$start, heart$stop, heart$event)[1:10, 1:3] ) #----------------------------- labelled [1:10, 1:3] 0 0 0 1 0 36 0 0 0 51 ...

我使用R的包生成了一个包含不同组的survfit对象

我知道我想访问每个组的事件数(即
记录-右删失的

当我使用
print(survobject)
时,有一列
events
显示每组的事件数。但是,我没有成功地将此列提取为向量

str( Surv(heart$start, heart$stop, heart$event)[1:10, 1:3] )
#-----------------------------
 labelled [1:10, 1:3] 0 0 0 1 0 36 0 0 0 51 ...
 - attr(*, "dimnames")=List of 2
  ..$ : NULL
  ..$ : chr [1:3] "start" "stop" "status"
 - attr(*, "units")= chr "Day"
以下是时代:

 Surv(heart$start, heart$stop, heart$event)[1:10, "stop"]
# [Day] 
# [1]  50   6   1  16  36  39  18   3  51 675
 Surv(heart$start, heart$stop, heart$event)[1:10, "start"]
# [Day] 
# [1]  0  0  0  1  0 36  0  0  0 51
因此,如果您想要与事件关联的时间,您只需:

> Surv(heart$start, heart$stop, heart$event)[ , "stop"][ Surv(heart$start, heart$stop, heart$event)[ , "status"] == 1]
 [Day] 
 [1]   50    6   16   39   18    3  675   40   85   58  153    8   81 1387    1  308   36
[18]   43   37   28 1032   51  733  219  263   72   35  852   16   77   12  100   66    5
[35]   53    3    2   40   45  996   72    9  980  285  102  188    3   61  149  343   68
[52]    2   69  584   78   32  285   68   30   90   17    2   21   96   80  334    5  110
[69]  207  186  340  165   16   21    6
或者只需对事件标记求和即可获得数字:

 sum( Surv(heart$start, heart$stop, heart$event)[ , "status"] == 1)
[1] 75
并通过潜在协变量将其制成表格:

> with(lung, table(Surv(time, status)[, "status"], ph.ecog ))
   ph.ecog
     0  1  2  3
  0 26 31  6  0
  1 37 82 44  1
以下是时代:

 Surv(heart$start, heart$stop, heart$event)[1:10, "stop"]
# [Day] 
# [1]  50   6   1  16  36  39  18   3  51 675
 Surv(heart$start, heart$stop, heart$event)[1:10, "start"]
# [Day] 
# [1]  0  0  0  1  0 36  0  0  0 51
因此,如果您想要与事件关联的时间,您只需:

> Surv(heart$start, heart$stop, heart$event)[ , "stop"][ Surv(heart$start, heart$stop, heart$event)[ , "status"] == 1]
 [Day] 
 [1]   50    6   16   39   18    3  675   40   85   58  153    8   81 1387    1  308   36
[18]   43   37   28 1032   51  733  219  263   72   35  852   16   77   12  100   66    5
[35]   53    3    2   40   45  996   72    9  980  285  102  188    3   61  149  343   68
[52]    2   69  584   78   32  285   68   30   90   17    2   21   96   80  334    5  110
[69]  207  186  340  165   16   21    6
或者只需对事件标记求和即可获得数字:

 sum( Surv(heart$start, heart$stop, heart$event)[ , "status"] == 1)
[1] 75
并通过潜在协变量将其制成表格:

> with(lung, table(Surv(time, status)[, "status"], ph.ecog ))
   ph.ecog
     0  1  2  3
  0 26 31  6  0
  1 37 82 44  1

例如,使用的数据来自库
survival
帮助页面。在
survfit
对象上使用函数
print()
打印所有
summary.survfit()
对象的一部分

library(survival)
print(survfit( Surv(futime, fustat)~rx, data=ovarian))
Call: survfit(formula = Surv(futime, fustat) ~ rx, data = ovarian)

     records n.max n.start events median 0.95LCL 0.95UCL
rx=1      13    13      13      7    638     268      NA
rx=2      13    13      13      5     NA     475      NA
如果我们保存
summary()
对象并查看它的结构,就会有一个元素

gg<-summary(survfit( Surv(futime, fustat)~rx, data=ovarian))
 str(gg)
List of 15
 $ n        : int [1:2] 13 13
 $ time     : num [1:12] 59 115 156 268 329 431 638 353 365 464 ...
 $ n.risk   : num [1:12] 13 12 11 10 9 8 5 13 12 9 ...
 $ n.event  : num [1:12] 1 1 1 1 1 1 1 1 1 1 ...
 $ n.censor : num [1:12] 0 0 0 0 0 0 0 0 0 0 ...
 $ surv     : num [1:12] 0.923 0.846 0.769 0.692 0.615 ...
 $ type     : chr "right"
 $ strata   : Factor w/ 2 levels "rx=1","rx=2": 1 1 1 1 1 1 1 2 2 2 ...
 $ std.err  : num [1:12] 0.0739 0.1001 0.1169 0.128 0.1349 ...
 $ upper    : num [1:12] 1 1 1 0.995 0.946 ...
 $ lower    : num [1:12] 0.789 0.671 0.571 0.482 0.4 ...
 $ conf.type: chr "log"
 $ conf.int : num 0.95
 $ call     : language survfit(formula = Surv(futime, fustat) ~ rx, data = ovarian)
 $ table    : num [1:2, 1:7] 13 13 13 13 13 13 7 5 638 NA ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr [1:2] "rx=1" "rx=2"
  .. ..$ : chr [1:7] "records" "n.max" "n.start" "events" ...
 - attr(*, "class")= chr "summary.survfit"

例如,使用的数据来自库
survival
帮助页面。在
survfit
对象上使用函数
print()
打印所有
summary.survfit()
对象的一部分

library(survival)
print(survfit( Surv(futime, fustat)~rx, data=ovarian))
Call: survfit(formula = Surv(futime, fustat) ~ rx, data = ovarian)

     records n.max n.start events median 0.95LCL 0.95UCL
rx=1      13    13      13      7    638     268      NA
rx=2      13    13      13      5     NA     475      NA
如果我们保存
summary()
对象并查看它的结构,就会有一个元素

gg<-summary(survfit( Surv(futime, fustat)~rx, data=ovarian))
 str(gg)
List of 15
 $ n        : int [1:2] 13 13
 $ time     : num [1:12] 59 115 156 268 329 431 638 353 365 464 ...
 $ n.risk   : num [1:12] 13 12 11 10 9 8 5 13 12 9 ...
 $ n.event  : num [1:12] 1 1 1 1 1 1 1 1 1 1 ...
 $ n.censor : num [1:12] 0 0 0 0 0 0 0 0 0 0 ...
 $ surv     : num [1:12] 0.923 0.846 0.769 0.692 0.615 ...
 $ type     : chr "right"
 $ strata   : Factor w/ 2 levels "rx=1","rx=2": 1 1 1 1 1 1 1 2 2 2 ...
 $ std.err  : num [1:12] 0.0739 0.1001 0.1169 0.128 0.1349 ...
 $ upper    : num [1:12] 1 1 1 0.995 0.946 ...
 $ lower    : num [1:12] 0.789 0.671 0.571 0.482 0.4 ...
 $ conf.type: chr "log"
 $ conf.int : num 0.95
 $ call     : language survfit(formula = Surv(futime, fustat) ~ rx, data = ovarian)
 $ table    : num [1:2, 1:7] 13 13 13 13 13 13 7 5 638 NA ...
  ..- attr(*, "dimnames")=List of 2
  .. ..$ : chr [1:2] "rx=1" "rx=2"
  .. ..$ : chr [1:7] "records" "n.max" "n.start" "events" ...
 - attr(*, "class")= chr "summary.survfit"

别介意。不管怎么说,他的方法比我的高。别介意。不管怎么说,他的方法比我的高。