paint <- read.table("paint.csv",header=T,sep=',') n <- nrow(paint) sidx <- order(paint[,"WTPS"],decreasing=T) didx <- order(paint[,"WTPD"],decreasing=T) bot <- min(c(paint[,"WTPS"],paint[,"WTPD"])) top <- max(c(paint[,"WTPS"],paint[,"WTPD"])) ps.options(horizontal=FALSE,onefile=FALSE) ps.options(pagecentre=TRUE) ps.options(paper="letter") ps.options(width=7.0,height=5.0) postscript(file="paint.eps") par(mfrow=c(1,1),mar=c(2.5,4,1.5,2)+0.1) # mar=c(b,l,t,r) plot(x=c(1,n),y=c(bot,top),type="n",ylab="WTPD",xlab="") points(x=seq(1:n),y=paint[didx,"WTPD"],ylab="WTPD",col="green") points(x=seq(1:n),y=paint[sidx,"WTPS"],ylab="WTPS",col="black") dev.off() pd <- 47.0 ps <- 44.0 mind <- min(paint[,"WTPD"]) maxd <- max(paint[,"WTPD"]) ranged <- seq(mind,maxd,1.0) mins <- min(paint[,"WTPS"]) maxs <- max(paint[,"WTPS"]) ranges <- seq(mins,maxs,1.0) best.rev <- 0 for (pd in ranged) { for (ps in ranges) { sum = 0.0 for ( k in 1:n) { if ( paint[k,"WTPD"] - pd >= max(0, paint[k,"WTPS"] - ps) ) { sum <- sum + pd } else { if (paint[k,"WTPS"] >= ps) { sum <- sum + ps } } } if (sum > best.rev) { best.rev <- sum best.pd <- pd best.ps <- ps } } } print(" ") print(best.rev) print(best.pd) print(best.ps) ranged <- seq(best.pd - 1.0, best.pd + 1.0, 0.1) ranges <- seq(best.ps - 1.0, best.ps + 1.0, 0.1) best.rev <- 0 for (pd in ranged) { for (ps in ranges) { sum = 0.0 for ( k in 1:n) { if ( paint[k,"WTPD"] - pd >= max(0, paint[k,"WTPS"] - ps) ) { sum <- sum + pd } else { if (paint[k,"WTPS"] >= ps) { sum <- sum + ps } } } if (sum > best.rev) { best.rev <- sum best.pd <- pd best.ps <- ps } } } print(" ") print(best.rev) print(best.pd) print(best.ps) ranged <- seq(best.pd - 0.1, best.pd + 0.1, 0.01) ranges <- seq(best.ps - 0.1, best.ps + 0.1, 0.01) best.rev <- 0 for (pd in ranged) { for (ps in ranges) { sum = 0.0 qd <- 0.0 qs <- 0.0 for ( k in 1:n) { if ( paint[k,"WTPD"] - pd >= max(0, paint[k,"WTPS"] - ps) ) { sum <- sum + pd qd = qd + 1; } else { if (paint[k,"WTPS"] >= ps) { sum <- sum + ps qs = qs + 1; } } } if (sum > best.rev) { best.rev <- sum best.pd <- pd best.ps <- ps best.qd <- qd best.qs <- qs } } } print(" ") print(best.rev) print(best.pd) print(best.ps) print(best.qd) print(best.qs)