# cdf.Normal: Evaluate the cumulative distribution function of a Normal... In distributions3: Probability Distributions as S3 Objects

## Description

Evaluate the cumulative distribution function of a Normal distribution

## Usage

 ```1 2``` ```## S3 method for class 'Normal' cdf(d, x, ...) ```

## Arguments

 `d` A `Normal` object created by a call to `Normal()`. `x` A vector of elements whose cumulative probabilities you would like to determine given the distribution `d`. `...` Unused. Unevaluated arguments will generate a warning to catch mispellings or other possible errors.

## Value

A vector of probabilities, one for each element of `x`.

Other Normal distribution: `fit_mle.Normal`, `pdf.Normal`, `quantile.Normal`
 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78``` ```set.seed(27) X <- Normal(5, 2) X random(X, 10) pdf(X, 2) log_pdf(X, 2) cdf(X, 4) quantile(X, 0.7) ### example: calculating p-values for two-sided Z-test # here the null hypothesis is H_0: mu = 3 # and we assume sigma = 2 # exactly the same as: Z <- Normal(0, 1) Z <- Normal() # data to test x <- c(3, 7, 11, 0, 7, 0, 4, 5, 6, 2) nx <- length(x) # calculate the z-statistic z_stat <- (mean(x) - 3) / (2 / sqrt(nx)) z_stat # calculate the two-sided p-value 1 - cdf(Z, abs(z_stat)) + cdf(Z, -abs(z_stat)) # exactly equivalent to the above 2 * cdf(Z, -abs(z_stat)) # p-value for one-sided test # H_0: mu <= 3 vs H_A: mu > 3 1 - cdf(Z, z_stat) # p-value for one-sided test # H_0: mu >= 3 vs H_A: mu < 3 cdf(Z, z_stat) ### example: calculating a 88 percent Z CI for a mean # same `x` as before, still assume `sigma = 2` # lower-bound mean(x) - quantile(Z, 1 - 0.12 / 2) * 2 / sqrt(nx) # upper-bound mean(x) + quantile(Z, 1 - 0.12 / 2) * 2 / sqrt(nx) # equivalent to mean(x) + c(-1, 1) * quantile(Z, 1 - 0.12 / 2) * 2 / sqrt(nx) # also equivalent to mean(x) + quantile(Z, 0.12 / 2) * 2 / sqrt(nx) mean(x) + quantile(Z, 1 - 0.12 / 2) * 2 / sqrt(nx) ### generating random samples and plugging in ks.test() set.seed(27) # generate a random sample ns <- random(Normal(3, 7), 26) # test if sample is Normal(3, 7) ks.test(ns, pnorm, mean = 3, sd = 7) # test if sample is gamma(8, 3) using base R pgamma() ks.test(ns, pgamma, shape = 8, rate = 3) ### MISC # note that the cdf() and quantile() functions are inverses cdf(X, quantile(X, 0.7)) quantile(X, cdf(X, 7)) ```