Выполнение парного теста и теста на выживаемость - PullRequest
0 голосов
/ 15 марта 2020

Я пытаюсь выполнить парные тесты, чтобы определить, есть ли разница в выживаемости между парами групп.

использованные данные:

enter image description here

time_Untreated<- c(20, 21, 23, 24, 24, 26, 26, 27, 28, 30)
censor_Untreated<- c(rep(1,10), rep(0,0))
censor_Untreated

time_Radiated<- c(26,28, 29, 29, 30, 30, 31, 31, 32, 35)
censor_Radiated<- c(rep(1,9), rep(0,1))
censor_Radiated

time_Radiated_BPA <- c(31, 32, 34, 35, 36, 38, 38, 39, 42, 42)
censor_Radiated_BPA <- c(rep(1,8), rep(0,2))
censor_Radiated_BPA

myData <- data.frame(time=c(time_Untreated, time_Radiated, time_Radiated_BPA),
                     status=c(censor_Untreated, censor_Radiated, censor_Radiated_BPA),
                     group= rep(1:3, each=10))

library(KMsurv)
library(survival)

Я пытался использовать функцию: pairwise_survdiff, но я не смог создать код для нее.

Кроме того, я хочу выполнить тест на тренд, который проверил бы эту упорядоченную гипотезу (необработанные животные будут иметь худшую выживаемость, облученные крысы будут иметь немного улучшенную выживаемость, а облученные крысы + BPA должны иметь лучшую выживаемость .)

Вот что я сделал с выводом, но я не уверен, какое значение имеет квадрат Хи и для p-значения:
Это правильно?

KM.fit<-survfit(Surv(time,status)~group, conf.type="none", data=myData)
KM.fit

Call: survfit(formula = Surv(time, status) ~ group, data = myData, conf.type = "none") 

         n events median
group=1 10     10     25
group=2 10      9     30
group=3 10      8     37

myData.fit<-ten(Surv(time,status)~group, data=myData)
comp(myData.fit, p=0, q=0,scores =c(1,2,3))
            chiSq df     pChisq    
1          33.380  2 5.6436e-08 ***
n          30.255  2 2.6925e-07 ***
sqrtN      32.037  2 1.1046e-07 ***
S1         29.657  2 3.6307e-07 ***
S2         29.496  2 3.9349e-07 ***
FH_p=0_q=0 33.380  2 5.6436e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
$tft
                   Q       Var      Z      pNorm    
1            16.0869    8.6116 5.4819 4.2081e-08 ***
n           364.0000 4741.0509 5.2864 1.2471e-07 ***
sqrtN        76.0224  196.2111 5.4272 5.7230e-08 ***
S1           11.1539    4.5558 5.2257 1.7351e-07 ***
S2           10.6871    4.2060 5.2110 1.8779e-07 ***
FH_p=0_q=0   16.0869    8.6116 5.4819 4.2081e-08 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

$scores
[1] 1 2 3

1 Ответ

2 голосов
/ 15 марта 2020

Пожалуйста, не забудьте указать все необходимые пакеты при публикации вопроса. Вы пропустили пакет surminer , который требуется для использования функции pairwise_survdiff.

library(survminer)

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

myData$group <- factor(myData$group, labels=c("Untreated","Radiated","Rad+BPA"))

KM.fit <- survfit(Surv(time,status)~group, data=myData)

ggsurvplot(KM.fit, data=myData,

       # Add median survival times (horizontal and vertical)
       surv.median.line = "hv", 

       # Legend placement, title, and labels
       legend = c(0.25, 0.75),
       legend.title = "Treatment Group",
       legend.labs = c("Untreated","Radiated","Rad+BPA"),
       # Add p-value and 95% confidence intervals
       pval = TRUE,
       conf.int = TRUE,

       # Add risk table
       risk.table = TRUE,
       tables.theme = theme_cleantable(),

       # Color palette
       palette = c("green4", "orange", "red"),
       ggtheme = theme_bw()
)

enter image description here


myData.fit <- ten(Surv(time,status)~group, data=myData)
comp(myData.fit, p=0, q=0, scores=1:3) # Scores 1, 2, 3 will be the default 

            chiSq df     pChisq    
1          33.380  2 5.6436e-08 ***  # log-rank test
n          30.255  2 2.6925e-07 ***  # Gehan-Breslow generalized Wilcoxon
sqrtN      32.037  2 1.1046e-07 ***  # Tarone-Ware
S1         29.657  2 3.6307e-07 ***  # Peto-Peto’s modified survival estimate
S2         29.496  2 3.9349e-07 ***  # modified Peto-Peto (by Andersen)
FH_p=0_q=0 33.380  2 5.6436e-08 ***  # Fleming-Harrington

Какое значение хи-квадрат и р-значение? Все они есть! Функция дает вам шесть на выбор. Вот они все значимые. См. документацию к пакету для получения более подробной информации.

В разделе $tst (не показан) представлены результаты теста на тренды. Все сравнения и тесты трендов показывают, что существует статистически значимая разница в выживаемости крыс в трех группах. Необработанные крысы имеют худшую выживаемость (медиана = 25 дней), затем следуют облученные крысы (медиана = 30 дней) и облученные + BPA (медиана = 37 дней).


...