zest <- data.frame( z1=c(0.27,0.18,0.56,0.61,0.09,0.27,0.96,0.34,0.69,0.13), z2=c(0,0,0,0,0,0,0,0,0,0) ) zest$z2=1-zest$z1 compare <- data.frame( verite=c('N','N','N','N','O','O','O','O','O','O'), decision=c('N','N','N','N','O','O','O','O','O','O') ) TFP <- TVP <- NULL for (ii in 1:9) { compare$decision[zest$z2>ii/10]='N' compare$decision[zest$z2<=ii/10]='O' confusion <- table(compare) TFP[ii]=confusion[2,1]/(confusion[2,1]+confusion[2,2]) TVP[ii]=confusion[1,1]/(confusion[1,1]+confusion[1,2]) print(confusion) print(TFP[ii]) print(TVP[ii]) } plot(TFP,TVP,'b',xlab='TFP',ylab='TVP')