Chapter 8, Problem 5

Given the following 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 \leq -3 \\ \frac{1}{2} + \frac{x}{6}, -3 \leq x \leq 0 \\ \frac{1}{2} + \frac{x^2}{32}, 0 < x \leq 4 \\ 1, x > 4 \]

#1k random values
ranVal <- runif(1000, min = -3, max = 4)
funcRes <- vector(mode="numeric", length = 1000)

for (i in 1:1000){
  if(ranVal[i] <= -3){
    funcRes[i] <- 0
  } else if(ranVal[i] >= -3 & ranVal[i] <= 0){
    funcRes[i] <- 1/2 + ranVal[i]/6
  } else if(ranVal[i] >= 0 & ranVal[i] <= 4){
    funcRes[i] <- 1/2 + (ranVal[i]**2)/32
  } else if(ranVal[i] > 4){
    funcRes[i] <- 1
  }
}
summary(funcRes)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## 0.0000598 0.2776000 0.5121000 0.4874000 0.6555000 0.9986000
hist(funcRes, main = "1k Values of CDF", xlab = "Random Variable")