0
点赞
收藏
分享

微信扫一扫

2022-05-04 ROCR, for 循环

后来的六六 2022-05-04 阅读 31
r语言

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) ## 画ROC曲线

## AUC值
perf <- performance(pred, measure = "auc")
perf@y.values


#### loop循环,筛选MARKER

start <- ncol(clinic)+1 ## 
dt.auc <- as.data.frame(matrix(nrow = ncol(dt.marker), ncol = 3))

## 也有更简单的写法,for (i in genelist){}
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])

##  PFS,loop循环,筛选MARKER
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
}

举报

相关推荐

0 条评论