2022-05-04 ROCR, for 循环
library(ROCR)
pred <- prediction(dt.marker$P08581, dt.marker$condition)
roc.perf = performance(pred, measure = "tpr", x.measure = "fpr")
plot(roc.perf)
perf <- performance(pred, measure = "auc")
perf@y.values
start <- ncol(clinic)+1
dt.auc <- as.data.frame(matrix(nrow = ncol(dt.marker), ncol = 3))
for (i in start:ncol(dt.marker)) {
pred <- prediction(dt.marker[, i], dt.marker$condition)
perf <- performance(pred, measure = "auc")
dt.auc[i-ncol(clinic), 1] <- names(dt.marker[i])
dt.auc[i-ncol(clinic), 2] <- perf@y.values[[1]]
}
dt.auc[3] <- ifelse(dt.auc[ , 2] <= 0.5, 1-dt.auc[ ,2], dt.auc[ ,2])
library("survival")
library("survminer")
sur.pvalue <- as.data.frame(matrix(nrow = ncol(dt.marker), ncol = 2))
start <- ncol(clinic)+1
for (i in start: ncol(dt.marker)) {
median.exp <- median(dt.marker[ ,i])
dt.marker$group <- ifelse(dt.marker[ , i] <= median.exp, 0, 1)
fit <- survfit(Surv(dt.marker$PFStime, dt.marker$PFSstatus) ~ group, data = dt.marker)
sur.pvalue[i-ncol(clinic),1] <- names(dt.marker[i])
sur.pvalue[i-ncol(clinic) ,2] <- surv_pvalue(fit)$pval
}