Ошибка при использовании функции rmst2 (ограниченное среднее время выживания) из пакета SurvRM2 - PullRequest
0 голосов
/ 29 апреля 2020

Я хочу сравнить две кривые выживания, используя ограниченное среднее время выживания в R. Таким образом, я использую пакет SurvRM2 и следую этой R виньетке.

Я могу чтобы получить нескорректированный анализ, как в разделе 3.1, выполнив:

dataset_analise <- as.data.frame(dataset_analise_coxph)
time   <- dataset_analise$time
status <- dataset_analise$status
All_episodes_RC_var <- dataset_analise$All_episodes_RC
All_episodes_RC_analysis <- rmst2(time, status, All_episodes_RC_var)

и получив:

The truncation time, tau, was not specified. Thus, the default tau (the minimum of the largest observed time on each of the two groups) 9.342  is used. 

Restricted Mean Survival Time (RMST) by arm 
              Est.    se lower .95 upper .95
RMST (arm=1) 3.998 0.051     3.898     4.099
RMST (arm=0) 1.084 0.013     1.059     1.109


Restricted Mean Time Lost (RMTL) by arm 
              Est.    se lower .95 upper .95
RMTL (arm=1) 5.343 0.051     5.243     5.444
RMTL (arm=0) 8.257 0.013     8.232     8.282


Between-group contrast 
                      Est. lower .95 upper .95 p
RMST (arm=1)-(arm=0) 2.914     2.810     3.017 0
RMST (arm=1)/(arm=0) 3.687     3.564     3.815 0
RMTL (arm=1)/(arm=0) 0.647     0.635     0.660 0

После успешного выполнения нескорректированного анализа я хотел получить результаты для уточненного анализа, как в разделе 3.2. Для этого я устанавливаю ковариаты с помощью следующего кода:

> x <- dataset_analise[,c(4,6,7)]
> head(x)
  Age_at_diagnosis Length_of_stay Number_infections
1               59             83                 2
2               34             12                 0
3               65             18                 0
4               86             17                 0
5               78              6                 0
6               77              0                 0

Однако, когда я пытаюсь получить скорректированный анализ, я получаю следующую ошибку:

> All_episodes_RC_analysis_ajustado <- rmst2(time, status, All_episodes_RC_var, tau=8,  covariates=x)
Error in `[[<-.data.frame`(`*tmp*`, i, value = c(112L, 112L, 112L, 112L,  : 
  replacement has 465330 rows, data has 93066

Проверка nrow и длина переменных кажутся хорошими (все с одинаковой длиной):

> nrow(x)
[1] 93066
> length(time)
[1] 93066
> length(status)
[1] 93066
> length(All_episodes_RC_var)
[1] 93066

, таким образом, я не имею ни малейшего понятия, откуда берутся 465330 строк, упомянутых в ошибке, прежде чем. Есть идеи, почему эта ошибка появляется? Спасибо.

...