use*_*287 5 r bar-chart cox-regression survival-analysis p-value
在我的生存分析任务中,我使用了 cox 比例模型来计算数据集不同组中的一致性指数 (c-index) 值。我想知道如何将 p 值添加到我的 c-index 图以比较不同的组看起来像这个图?

这是我的代码:
surv <- with(group, Surv(group$survival, group$time))
# calculate survival
sum.surv_1 <- with(group, summary(coxph(surv ~ group$1)))
sum.surv.1_2 <- with(group, summary(coxph(surv ~ group$1 + group$2,ties = T)))
c_index.1 <- sum.surv_1$concordance
c_index.1_2 <- sum.surv.1_2$concordance
Comb_cIndex = data.frame(rbind(c_index.1["concordance.concordant"],
c_index.1_2["concordance.concordant"]))
barplot(as.matrix(Comb_cIndex), beside=TRUE, axis.lty=1,
ylab = "C Index", ylim = c(0, 0.8),
col = c("green", "blue"))
Run Code Online (Sandbox Code Playgroud)
提前致谢,
我设法通过计算数据集有/没有联系的一致性值找到了答案。按照这个例子:
测试两个 c 指数的 p 值,忽略关系
round(cindex.comp(c_index_no_ties1, c_index_no_ties2)$p.value,3)
Run Code Online (Sandbox Code Playgroud)
用于测试两个 c 指数的 p 值的函数,说明因变量的 t 检验用于显着性 输入变量是从第一个函数获得的对象
cindex.p.ties <- function(c_index_ties1, c_index_ties2, c_index_no_ties1, c_index_no_ties2) {
eps <- 1E-15
n <- c_index_no_ties1$n
r <- cor(c_index_no_ties1$data$x, c_index_no_ties2$data$x, use="complete.obs", method="spearman")
if ((1 - abs(r)) > eps) {
t.stat <- (c_index_ties1$concordance - c_index_ties2$concordance) / sqrt(c_index_ties1$std.err^2 + c_index_ties2$std.err^2 - 2 * r * c_index_ties1$std.err * c_index_ties2$std.err)
diff.ci.p <- pt(q=t.stat, df=n - 1, lower.tail=FALSE)
} else { diff.ci.p <- 1 }
return(list("p.value"=diff.ci.p))
}
cindex.p.ties(c_index_ties1=c_index_ties1, c_index_ties2=c_index_ties2, c_index_no_ties1=c_index_no_ties1, c_index_no_ties2=c_index_no_ties2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1253 次 |
| 最近记录: |