# Discrete Random Variable

coin3 <- data.frame(
N_Heads = c(0, 1, 2, 3),
C_Heads = c(1, 3, 3, 1)
)
attach(coin3)
coin3$P_Heads <- C_Heads/sum(C_Heads)

options(repr.plot.wideth=7, repr.plot.height=4)
barplot(coin3$P_Heads, names = coin3$N_Heads, main = "Discrete Probability Distribution of Flipping Three Coins")

# Expected Value

attach(coin3)
E_X = sum(N_Heads * P_Heads)
E_X

```
The following objects are masked from coin3 (pos = 3):
C_Heads, N_Heads
```

# Variance

fees = data.frame(
N_Bags = c(0, 1, 2),
X = c(0, 25, 60),
P_X = c(0.54, 0.34, 0.12)
)
fees

attach(fees)
E_X <- sum(X * P_X)
print(paste("The expected revenue per passenger is $"))

```
[1] "The expected revenue per passenger is $"
```

var <- sum((X - E_X)^2 * P_X)
print(paste("The variance of the revenue per passenger is", var))

```
[1] "The variance of the revenue per passenger is 398.01"
```

print(paste("The standard deviation of the revenue per passenger is $", round(sqrt(var),2)))

```
[1] "The standard deviation of the revenue per passenger is $ 19.95"
```

# Continuous Random Variable

Uniform_Random_Number <- runif(1000, -2, 1)
hist(Uniform_Random_Number, probability = TRUE)

options(repr.plot.width=7, repr.plot.height=4)
x=seq(-4,4,length=200)
y=1/sqrt(2*pi)*exp(-x^2/2)
plot(x,y,type="l",lwd=2,col="red", main = "Normal Distribution")

# Normal Approximation

normal_dist <- function(x, b){
mu = mean(x)
sigma = sd(x)
x1 <- seq(mu - 6*sigma, mu + 6*sigma, length = 100)
# Normal curve
fun <- dnorm(x1, mean = mu, sd = sigma)
# Histogram
options(repr.plot.width=7, repr.plot.height=4)
hist(x, prob = TRUE, col = "white", breaks = b,
xlim = c(mu - 6*sigma, mu + 6*sigma),
ylim = c(0, max(fun)),
main = "Histogram overlayed with normal curve")
lines(x1, fun, col = 2, lwd = 2)
}

data(chickwts)
attach(chickwts)
normal_dist(chickwts$weight, 10)

# Test of Normality

cat("The data can be approximated as normal distribution since p >", round(shapiro.test(chickwts$weight)$p.value, 2))

`The data can be approximated as normal distribution since p > 0.21`

# Z Score

chickwts$zscore = (weight - mean(weight))/sd(weight)
tail(chickwts)

GRE Scores, Part 1

#b
z_sophiaV = (160 - 151)/7
z_sophiaQ = (157 - 153)/7.67
cat("Z Score for Verbals= ", round(z_sophiaV,2), "\nZ Score for Quantitative Reasoning= ", round(z_sophiaQ, 2))

```
Z Score for Verbals= 1.29
Z Score for Quantitative Reasoning= 0.52
```