當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。