- 画了一个ROC图,分享下代码。对比实验组桥本氏甲状腺炎(HT)患者100例和对照组健康体检者100例,查看指标A-TG,A-TPO对HT患者的敏感性。
- 欢迎路过的大佬们一起交流 【我感觉我的代码不够简洁。】
- 画出来的图如下:

HT.png
setwd("~/Desktop/190321")
getwd()
library("plotROC")
library("ggplot2")
df_HT1 <-read.csv("~/Desktop/190321/health_HT.csv",stringsAsFactors = TRUE)#读取表格,正常组和患者组都放在一起。
df_HT2 <- as.data.frame(lapply(df_HT1,as.numeric)) #转换成数值型
View(df_HT2)
#分别计算AUC值
rocHT_TG <- roc(df_HT2$outcome, df_HT2$A.TG)
print(AucHT_TG <- auc(rocHT_TG))
rocHT_TPO <- roc(df_HT2$outcome, df_HT2$A.TPO)
print(AucHT_TPO <- auc(rocHT_TPO))
#绘制ROC图
longest <- melt_roc(df_HT2,"outcome",c("A.TG","A.TPO")) #outcome中,健康组值为0,患病组值为1
head(longest)
basicplot <- ggplot(longest, aes(d = D,m = M, color = name))+ geom_roc(n.cuts = 0)
styleplot <- basicplot + style_roc(theme = theme_grey, xlab = "1-Specificity",ylab = "Sensitivity") + ggtitle("HT")
styleplot
网友评论