random.Normal | R Documentation |
Please see the documentation of Normal()
for some properties
of the Normal distribution, as well as extensive examples
showing to how calculate p-values and confidence intervals.
## S3 method for class 'Normal'
random(x, n = 1L, drop = TRUE, ...)
x |
A |
n |
The number of samples to draw. Defaults to |
drop |
logical. Should the result be simplified to a vector if possible? |
... |
Unused. Unevaluated arguments will generate a warning to catch mispellings or other possible errors. |
In case of a single distribution object or n = 1
, either a numeric
vector of length n
(if drop = TRUE
, default) or a matrix
with n
columns
(if drop = FALSE
).
set.seed(27)
X <- Normal(5, 2)
X
mean(X)
variance(X)
skewness(X)
kurtosis(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))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.