当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R survSplit 在指定时间分割生存数据集


R语言 survSplit 位于 survival 包(package)。

说明

给定一个生存数据集和一组指定的切割时间,在每个切割时间将每个记录拆分为多个子记录。新数据集将采用“计数过程”格式,其中包含每条记录的开始时间、停止时间和事件状态。

用法

survSplit(formula, data, subset, na.action=na.pass,
            cut, start="tstart", id, zero=0, episode,
                              end="tstop", event="event")

参数

formula

模型公式

data

一个 DataFrame

subset , na.action

要保留的数据行

cut

要切割的时间点向量

start

带有开始时间变量名称的字符串(如果需要,将创建)

id

带有要创建的新 id 变量名称的字符串(可选)。如果数据集尚未包含标识符,这可能很有用。

zero

如果 start 尚不存在,则这是原始记录开始的时间。

episode

带有新剧集变量名称的字符串(可选)

end

事件时间变量名称的字符串

event

带有审查指标名称的字符串

细节

原始数据中的每个区间在给定点处被切割;如果原始行为 (15, 60],切割向量为 (10,30, 40),则生成的数据集的间隔为 (15,30]、(30,40] 和 (40, 60])。

最终数据集中的每一行将完全位于一个切割间隔内。输出每行的间隔由 episode 变量显示,其中 1= 小于第一个切点,2= 第一个和第二个切点之间,等等。对于上面的示例,值将为 2、3 和4.

使用公式作为第一个参数调用该例程。公式的右侧可用于界定应保留的变量;通常人们会使用 ~ .作为简写来保留它们。该例程将尝试保留变量名称,例如Surv(adam, joe, fred)~. 将生成一个数据集,其中 tstartendevent 选项具有相同的变量名称,而不是默认值。当然,如果这些选项存在,则将使用任何用户指定的值。然而,例行公事并不复杂;它仅对简单名称进行替换。例如,调用 Surv(time, stat==2) 不会保留 "stat" 作为事件变量的名称。

缺少时间或状态的数据行将原样复制,除非 na.action 参数的默认值 na.pass 发生更改。但在后一种情况下,任何变量缺少的任何行都将被删除,这很少是我们所期望的。

新的、更长的 DataFrame 。

例子

fit1 <- coxph(Surv(time, status) ~ karno + age + trt, veteran)
plot(cox.zph(fit1)[1])
# a cox.zph plot of the data suggests that the effect of Karnofsky score
#  begins to diminish by 60 days and has faded away by 120 days.
# Fit a model with separate coefficients for the three intervals.
#
vet2 <- survSplit(Surv(time, status) ~., veteran,
                   cut=c(60, 120), episode ="timegroup")
fit2 <- coxph(Surv(tstart, time, status) ~ karno* strata(timegroup) +
                age + trt, data= vet2)
c(overall= coef(fit1)[1],
  t0_60  = coef(fit2)[1],
  t60_120= sum(coef(fit2)[c(1,4)]),
  t120   = sum(coef(fit2)[c(1,5)]))

也可以看看

Surv , cut , reshape

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Split a survival data set at specified times。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。