Description Usage Arguments Value References See Also Examples
View source: R/plot_sim_pdf_theory.R
This plots the pdf of simulated continuous or count data and overlays the target pdf (if overlay
= TRUE),
which is specified by distribution name (plus up to 4 parameters) or pdf function fx
(plus support bounds).
If a continuous target distribution is provided (cont_var = TRUE
), the simulated data y is
scaled and then transformed (i.e. y = sigma * scale(y) + mu) so that it has the same mean (mu) and variance (sigma^2) as the
target distribution. If the variable is Negative Binomial, the parameters must be size and success probability (not mu).
The function returns a ggplot2-package
object so the user can modify as necessary. The graph parameters (i.e. title
,
power_color
, target_color
, target_lty
) are ggplot2-package
parameters. It works for valid or invalid power method pdfs.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | plot_sim_pdf_theory(sim_y, title = "Simulated Probability Density Function",
ylower = NULL, yupper = NULL, power_color = "dark blue",
overlay = TRUE, cont_var = TRUE, target_color = "dark green",
target_lty = 2, Dist = c("Benini", "Beta", "Beta-Normal",
"Birnbaum-Saunders", "Chisq", "Dagum", "Exponential", "Exp-Geometric",
"Exp-Logarithmic", "Exp-Poisson", "F", "Fisk", "Frechet", "Gamma", "Gaussian",
"Gompertz", "Gumbel", "Kumaraswamy", "Laplace", "Lindley", "Logistic",
"Loggamma", "Lognormal", "Lomax", "Makeham", "Maxwell", "Nakagami",
"Paralogistic", "Pareto", "Perks", "Rayleigh", "Rice", "Singh-Maddala",
"Skewnormal", "t", "Topp-Leone", "Triangular", "Uniform", "Weibull",
"Poisson", "Negative_Binomial"), params = NULL, fx = NULL, lower = NULL,
upper = NULL, legend.position = c(0.975, 0.9),
legend.justification = c(1, 1), legend.text.size = 10,
title.text.size = 15, axis.text.size = 10, axis.title.size = 13)
|
sim_y |
a vector of simulated data |
title |
the title for the graph (default = "Simulated Probability Density Function") |
ylower |
the lower y value to use in the plot (default = NULL, uses minimum simulated y value) |
yupper |
the upper y value (default = NULL, uses maximum simulated y value) |
power_color |
the line color for the simulated variable |
overlay |
if TRUE (default), the target distribution is also plotted given either a distribution name (and parameters) or pdf function fx (with bounds = ylower, yupper) |
cont_var |
TRUE (default) for continuous variables, FALSE for count variables |
target_color |
the line color for the target pdf |
target_lty |
the line type for the target pdf (default = 2, dashed line) |
Dist |
name of the distribution. The possible values are: "Benini", "Beta", "Beta-Normal", "Birnbaum-Saunders", "Chisq",
"Exponential", "Exp-Geometric", "Exp-Logarithmic", "Exp-Poisson", "F", "Fisk", "Frechet", "Gamma", "Gaussian", "Gompertz",
"Gumbel", "Kumaraswamy", "Laplace", "Lindley", "Logistic", "Loggamma", "Lognormal", "Lomax", "Makeham", "Maxwell",
"Nakagami", "Paralogistic", "Pareto", "Perks", "Rayleigh", "Rice", "Singh-Maddala", "Skewnormal", "t", "Topp-Leone", "Triangular",
"Uniform", "Weibull", "Poisson", and "Negative_Binomial".
Please refer to the documentation for each package (either |
params |
a vector of parameters (up to 4) for the desired distribution (keep NULL if |
fx |
a pdf input as a function of x only, i.e. fx <- function(x) 0.5*(x-1)^2; must return a scalar
(keep NULL if |
lower |
the lower support bound for |
upper |
the upper support bound for |
legend.position |
the position of the legend |
legend.justification |
the justification of the legend |
legend.text.size |
the size of the legend labels |
title.text.size |
the size of the plot title |
axis.text.size |
the size of the axes text (tick labels) |
axis.title.size |
the size of the axes titles |
A ggplot2-package
object.
Please see the references for plot_cdf
.
Wickham H. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2009.
calc_theory
,
ggplot2-package
, geom_path
, geom_density
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 | ## Not run:
# Logistic Distribution: mean = 0, variance = 1
seed = 1234
# Find standardized cumulants
stcum <- calc_theory(Dist = "Logistic", params = c(0, 1))
# Simulate without the sixth cumulant correction
# (invalid power method pdf)
Logvar1 <- nonnormvar1(method = "Polynomial", means = 0, vars = 1,
skews = stcum[3], skurts = stcum[4],
fifths = stcum[5], sixths = stcum[6],
n = 10000, seed = seed)
# Plot pdfs of simulated variable (invalid) and theoretical distribution
plot_sim_pdf_theory(sim_y = Logvar1$continuous_variable,
title = "Invalid Logistic Simulated PDF",
overlay = TRUE, Dist = "Logistic", params = c(0, 1))
# Simulate with the sixth cumulant correction
# (valid power method pdf)
Logvar2 <- nonnormvar1(method = "Polynomial", means = 0, vars = 1,
skews = stcum[3], skurts = stcum[4],
fifths = stcum[5], sixths = stcum[6],
Six = seq(1.5, 2, 0.05), n = 10000, seed = seed)
# Plot pdfs of simulated variable (invalid) and theoretical distribution
plot_sim_pdf_theory(sim_y = Logvar2$continuous_variable,
title = "Valid Logistic Simulated PDF",
overlay = TRUE, Dist = "Logistic", params = c(0, 1))
# Simulate 2 Negative Binomial distributions and correlation 0.3
# using Method 1
NBvars <- rcorrvar(k_nb = 2, size = c(10, 15), prob = c(0.4, 0.3),
rho = matrix(c(1, 0.3, 0.3, 1), 2, 2), seed = seed)
# Plot pdfs of 1st simulated variable and theoretical distribution
plot_sim_pdf_theory(sim_y = NBvars$Neg_Bin_variable[, 1], overlay = TRUE,
cont_var = FALSE, Dist = "Negative_Binomial",
params = c(10, 0.4))
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.