在 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"..(不是很清楚为什么它与您预期的不同)
我正在尝试 运行 俄亥俄州立大学骨髓移植研究的方差分析。
这里是使用来自(
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"..(不是很清楚为什么它与您预期的不同)