# Resp <- data.frame(Response=rbinom(50,1,0.2), yhat=runif(50)) # Resp <- Resp[order(Resp$yhat,decreasing=TRUE),] # ResponseX10 <- do.call(rbind, replicate(10, Resp, simplify=FALSE)) # str(ResponseX10) # ResponseX10 <- ResponseX10[order(ResponseX10$yhat,decreasing=TRUE),] # str(ResponseX10) # head(ResponseX10) # ResponseX10[[2]] <- NULL # ResponseX10 <- data.frame(ResponseX10) # str(ResponseX10) # Draw 50 random numbers and replicate 10 times Response <- rbinom(50, 1, 0.2)[rep(1:50, 10)] yhat <- runif(50)[rep(1:50, 10)] # Sort Response by yhat Response <- Response[order(yhat, decreasing=TRUE)] cum_R <- cumsum(Response) cum_R # sam_size <- nrow(ResponseX10) sam_size <- length(Response) sam_size # cum_n <- seq(1:1,sam_size) cum_n <- seq(1, sam_size) cum_n # wt <- rep(c(1), times=sam_size) wt <- rep(1, times=sam_size) cum_wt <- cumsum(wt) cum_wt dec <- (cum_n/sam_size) decc <- floor((cum_n*10)/(sam_size+1)) str(decc) # dec_mean <- aggregate(Response, by=list(decc), mean) # dd_ <- data.frame(cum_R, sam_size, cum_wt, cum_n, decc) # dd <- cbind(Response, dd_) # names(dd)[2] <- "cum_R" dd <- data.frame(Response, cum_R, sam_size, cum_wt, cum_n, decc) dec_mean <- aggregate(Response ~ decc, dd, mean) dec_mean