#create reproducability
set.seed(123)
Given the folling cdf for a continuous variable with range from -3 to 4, develop a generator for the variable, generate 1000 values, and plot a histogram:
\(F(x) = 0, x <= -3\)
\(F(x) = \frac{1}{2} + \frac{x}{6}, -3 < x <= 0\)
\(F(x) = \frac{1}{2} + \frac{x^2}{32}, 0 < x <= 4\)
\(F(x) = 1, x > 4\)
banks5 <- function(size){
x <- runif(size, min=-3, max=4)
for(i in 1:size){
if(x[i] == 0){
x[i] <- -3
} else if(x[i] > -3 & (x[i] < 0 | x[i] == 0)){
x[i] <- (1/2) + (x[i]/6)
} else if(x[i] > 0 & (x[i] <4 | x[i] == 4)){
x[i] <- (1/2) + (x[i]^2)/32
} else{
x[i] <- 1
}
}
x
}
gen5 <- banks5(1000)
summary(gen5)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0005429 0.2959000 0.5058000 0.4860000 0.6551000 0.9990000
hist(gen5)
plot(density(gen5), xlim=c(0,1))