在 R 中寻找方差分析 table 和 95% CI

Finding ANOVA table and 95% CI in R

我正在尝试 运行 俄亥俄州立大学骨髓移植研究的方差分析。

这里是使用来自( )的代码的数据。

time_Allo_NHL<- c(28,32,49,84,357,933,1078,1183,1560,2114,2144)
censor_Allo_NHL<- c(rep(1,5), rep(0,6))
df_Allo_NHL <- data.frame(group = "Allo NHL", 
                          time = time_Allo_NHL,
                          censor = censor_Allo_NHL,
                          Z1 = c(90,30,40,60,70,90,100,90,80,80,90),
                          Z2 = c(24,7,8,10,42,9,16,16,20,27,5))

time_Auto_NHL<- c(42,53,57,63,81,140,176,210,252,476,524,1037)
censor_Auto_NHL<- c(rep(1,7), rep(0,1), rep(1,1), rep(0,1), rep(1,1), rep(0,1))
df_Auto_NHL <- data.frame(group = "Auto NHL", 
                          time = time_Auto_NHL, 
                          censor = censor_Auto_NHL,
                          Z1 = c(80,90,30,60,50,100,80,90,90,90,90,90),
                          Z2 = c(19,17,9,13,12,11,38,16,21,24,39,84))

time_Allo_HOD<- c(2,4,72,77,79)
censor_Allo_HOD<- c(rep(1,5))
df_Allo_HOD <- data.frame(group = "Allo HOD", 
                          time = time_Allo_HOD, 
                          censor = censor_Allo_HOD,
                          Z1 = c(20,50,80,60,70),
                          Z2 = c(34,28,59,102,71))

time_Auto_HOD<- c(30,36,41,52,62,108,132,180,307,406,446,484,748,1290,1345)
censor_Auto_HOD<- c(rep(1,7), rep(0,8))
df_Auto_HOD <- data.frame(group = "Auto HOD", 
                          time = time_Auto_HOD, 
                          censor = censor_Auto_HOD,
                          Z1 = c(90,80,70,60,90,70,60,100,100,100,100,90,90,90,80),
                          Z2 = c(73,61,34,18,40,65,17,61,24,48,52,84,171,20,98))

myData <- Reduce(rbind, list(df_Allo_NHL, df_Auto_NHL, df_Allo_HOD, df_Auto_HOD)) 

然后我用了cox ph:

myData<- Reduce(rbind, list(df_Allo_NHL, df_Auto_NHL, df_Allo_HOD, df_Auto_HOD))
myData

library(survival)

for(i in 1:43){
  if (myData$group[i]=="Auto NHL")
    myData$Z1[i]<-1
  else myData$Z1[i]<-0
}

for(i in 1:43){
  if (myData$group[i]=="Allo HOD")
    myData$Z2[i]<-1
  else myData$Z2[i]<-0
}

for(i in 1:43){
  if (myData$group[i]=="Auto HOD")
    myData$Z3[i]<-1
  else myData$Z3[i]<-0
}

myData

Coxfit<-coxph(Surv(time,censor)~Z1+Z2+Z3, data = myData)
summary(Coxfit)

然后,1- 我想获得方差分析。 我怎样才能在结果中包括(DF、参数估计、标准误差、卡方和 p 值)?

值应如下所示:

2-如何通过移植相互作用获得疾病类型的方差分析?

互动获得如下,来自():

library(tidyr)
myData <- separate(myData, col=group, into=c("disease","transpl"))
head(myData)



Coxfit.W<-coxph(Surv(time,censor)~transplant_type*disease_type, data = myData)
summary(Coxfit.W)

值应如下所示:

3- 与 NHL 同种异体移植患者相比,如何获得 NHL 自体移植患者相对死亡风险的点估计值和 95% CI?

结果应为:1.94,其中 95% CI 为 (0.64, 5.87)

对于1,参数在coefficients(Coxfit)中,方差分析可以通过anova(Coxfit)得到,你可以试试:

aovres = anova(Coxfit)
cbind(paramter = coefficients(Coxfit),aovres[-1,c(3,2,4)])

    paramter Df      Chisq  Pr(>|Chi|)
Z1 0.6422532  1 0.38223478 0.536409640
Z2 1.8212306  1 7.31476152 0.006839047
Z3 0.1584653  1 0.07297854 0.787048385

对于 2,您可以重新调整因子:

splitData <- separate(myData, col=group, into=c("disease","transpl"))
splitData$transpl = factor(splitData$transpl,levels=c("NHL","HOD"))
Coxfit.W<-coxph(Surv(time,censor)~transpl*disease, data = splitData)

如果您查看摘要,它会为您提供方差分析中所需的系数(如预期的优势比):

summary(Coxfit.W)

                           coef exp(coef) se(coef)      z Pr(>|z|)   
transplHOD              1.82123   6.17946  0.67473  2.699  0.00695 **
diseaseAuto             0.64225   1.90076  0.56415  1.138  0.25493   
transplHOD:diseaseAuto -2.30502   0.09976  0.84938 -2.714  0.00665 **

cbind(paramter = coefficients(Coxfit.W),anova(Coxfit.W)[-1,c(3,2,4)])

对于 3.,这可能更容易将您的原始 data.frame 与 "group" 一起使用,因此您将参考水平设置为 "NHL allo",所有优势比将为相对于此:

myData$group = factor(myData$group,levels=c("Allo NHL","Auto NHL","Allo HOD","Auto HOD"))

summary(coxph(Surv(time,censor)~group, data = myData))
Call:
coxph(formula = Surv(time, censor) ~ group, data = myData)

  n= 43, number of events= 26 

                coef exp(coef) se(coef)     z Pr(>|z|)   
groupAuto NHL 0.6423    1.9008   0.5641 1.138  0.25493   
groupAllo HOD 1.8212    6.1795   0.6747 2.699  0.00695 **
groupAuto HOD 0.1585    1.1717   0.5889 0.269  0.78785   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

              exp(coef) exp(-coef) lower .95 upper .95
groupAuto NHL     1.901     0.5261    0.6291     5.743
groupAllo HOD     6.179     0.1618    1.6467    23.189
groupAuto HOD     1.172     0.8535    0.3695     3.716

您的优势比低于 "groupAuto NHL"..(不是很清楚为什么它与您预期的不同)