setwd("./data")
results<-read.csv("hw3p7.csv",header=T)
setwd("../")
pm1<-results[,1:3]
pm2<-results[,c(1:2,4)]
pm1$true.class<-as.character(pm1$true.class)
pm2$true.class<-as.character(pm2$true.class)
pm1$true.class[pm1$true.class=="-"]<-0
pm1$true.class[pm1$true.class=="+"]<-1
pm2$true.class[pm2$true.class=="-"]<-0
pm2$true.class[pm2$true.class=="+"]<-1
pm1<-pm1[order(pm1$p.m1),]
pm2<-pm2[order(pm2$p.m2),]
pm1cut<-c(rep(NA,10))
pm2cut<-c(rep(NA,10))
pm1pred<-c(rep(NA,10))
pm2pred<-c(rep(NA,10))
pm1fpr<-c(rep(0,11))
pm1tpr<-c(rep(0,11))
pm2fpr<-c(rep(0,11))
pm2tpr<-c(rep(0,11))
for(i in 1:10){
pm1cut[i]<-(pm1$p.m1[i]-.001)
pm2cut[i]<-(pm2$p.m2[i]-.001)
for(j in 1:10){
if(pm1$p.m1[j]>=pm1cut[i]) {pm1pred[j]<-"1"}
else {pm1pred[j]<-"0"}
if(pm2$p.m2[j]>=pm2cut[i]) {pm2pred[j]<-"1"}
else {pm2pred[j]<-"0"}
}
pm1tp<-sum(pm1pred==1 & pm1$true.class==pm1pred)
pm1tn<-sum(pm1pred==0 & pm1$true.class==pm1pred)
pm1fp<-sum(pm1pred==1 & pm1$true.class!=pm1pred)
pm1fn<-sum(pm1pred==0 & pm1$true.class!=pm1pred)
pm1tpr[i]<-pm1tp/(pm1tp+pm1fn)
pm1fpr[i]<-pm1fp/(pm1fp+pm1tn)
pm2tp<-sum(pm2pred==1 & pm2$true.class==pm2pred)
pm2tn<-sum(pm2pred==0 & pm2$true.class==pm2pred)
pm2fp<-sum(pm2pred==1 & pm2$true.class!=pm2pred)
pm2fn<-sum(pm2pred==0 & pm2$true.class!=pm2pred)
pm2tpr[i]<-pm2tp/(pm2tp+pm2fn)
pm2fpr[i]<-pm2fp/(pm2fp+pm2tn)
}
plot(pm1fpr,pm1tpr,type="l",col="blue",lwd=3,ylab="TPR",ylim=c(0,1),xlab="FPR",
main="ROC Curve (Michael Downs)")
lines(pm2fpr,pm1tpr,type="l",col="red",lwd=3)
legend("bottomright",col=c("blue","red"),lwd=3,legend=c("M1","M2"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.