set.seed(100) ## Known parameters lambda <- 2 N = 1000 ## STraight from R a1 = mean(val1<- rexp(N,lambda)) ## Now using the CDF trick randomEXP <- function(N, lambda) { val2 <- NULL for (i in 1:N) { r[i] <- runif(1,0,1) x[i] <- (-1/lambda)*log(1-r[i]) val2 <- c(val2, x[i]) } print(val2) } a2 = mean(randomEXP(1000,2)) ## Finding difference between the two techniques.. diff = a1 - a2 print(diff)