n <- 10000 alpha <- 2 beta <- 3 x <- runif(n) p <- function(x) dunif(x) q <- function(x) dbeta(x,alpha,beta) w <- q(x)/p(x) pi <- w/sum(w) samp <- sample(x,size=n,prob=pi,replace=T) print(mean(samp)) print(var(samp)) theta <- 0.1 le <- (1-theta)*n lo <- 1:(n-le) hi <- (le+1):n y <- sort(samp) r <- y[hi]-y[lo] rm <- min(r) lom <- min(lo[r==rm]) him <- min(hi[r==rm]) dd <- function(x) dbeta(x,alpha,beta) plot(dd,xlim=c(0,1),ylim=c(0,2)) par(new=T) plot(density(samp),xlim=c(0,1),ylim=c(0,2), main="",xlab="",ylab="") abline(v=y[lom]) abline(v=y[him]) print(y[lom]) print(y[him])