Distr {r6qualitytools} | R Documentation |
Distr-class: Class 'Distr'
Description
R6 Class for Distribution Objects
Public fields
x
Numeric vector of data values.
name
Character string representing the name of the distribution.
parameters
List of parameters for the distribution.
sd
Numeric value representing the standard deviation of the distribution.
n
Numeric value representing the sample size.
loglik
Numeric value representing the log-likelihood.
Methods
Public methods
Method new()
Initialize the fiels of the 'Distribution' object
Usage
Distr$new(x, name, parameters, sd, n, loglik)
Arguments
x
Numeric vector of data values.
name
Character string representing the name of the distribution.
parameters
List of parameters for the distribution.
sd
Numeric value representing the standard deviation of the distribution.
n
Numeric value representing the sample size.
loglik
Numeric value representing the log-likelihood.
Method plot()
Plot the distribution with histogram and fitted density curve.
Usage
Distr$plot( main = NULL, xlab = NULL, xlim = NULL, xlim.t = TRUE, ylab = NULL, line.col = "red", fill.col = "lightblue", border.col = "black", box = TRUE, line.width = 1 )
Arguments
main
Character string for the main title of the plot. Defaults to the name of the distribution.
xlab
Character string for the x-axis label. Defaults to "x".
xlim
Numeric vector specifying the x-axis limits.
xlim.t
Logical value specifyind to change the xlim default.
ylab
Character string for the y-axis label. Defaults to "Density".
line.col
Character string for the color of the plot line. Default is "red".
fill.col
Character string for the color of the fill histogram plot line. Default is "lightblue".
border.col
Character string for the color of the border of the fill histogram plot line. Default is "black".
box
Logical value indicating whether to draw a box with the parameters in the plot. Default is TRUE.
line.width
Numeric value specifying the width of the plot line. Default is 1.
Method clone()
The objects of this class are cloneable with this method.
Usage
Distr$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
See Also
distribution
, FitDistr
, DistrCollection
Examples
# Normal
set.seed(123)
data1 <- rnorm(100, mean = 5, sd = 2)
parameters1 <- list(mean = 5, sd = 2)
distr1 <- Distr$new(x = data1, name = "normal", parameters = parameters1,
sd = 2, n = 100, loglik = -120)
distr1$plot()
# Log-normal
data2 <- rlnorm(100, meanlog = 1, sdlog = 0.5)
parameters2 <- list(meanlog = 1, sdlog = 0.5)
distr2 <- Distr$new(x = data2, name = "log-normal", parameters = parameters2,
sd = 0.5, n = 100, loglik = -150)
distr2$plot()
# Geometric
data3 <- rgeom(100, prob = 0.3)
parameters3 <- list(prob = 0.3)
distr3 <- Distr$new(x = data3, name = "geometric", parameters = parameters3,
sd = sqrt((1 - 0.3) / (0.3^2)), n = 100, loglik = -80)
distr3$plot()
# Exponential
data4 <- rexp(100, rate = 0.2)
parameters4 <- list(rate = 0.2)
distr4 <- Distr$new(x = data4, name = "exponential", parameters = parameters4,
sd = 1 / 0.2, n = 100, loglik = -110)
distr4$plot()
# Poisson
data5 <- rpois(100, lambda = 3)
parameters5 <- list(lambda = 3)
distr5 <- Distr$new(x = data5, name = "poisson", parameters = parameters5,
sd = sqrt(3), n = 100, loglik = -150)
distr5$plot()
# Chi-square
data6 <- rchisq(100, df = 5)
parameters6 <- list(df = 5)
distr6 <- Distr$new(x = data6, name = "chi-squared", parameters = parameters6,
sd = sqrt(2 * 5), n = 100, loglik = -130)
distr6$plot()
# Logistic
data7 <- rlogis(100, location = 0, scale = 1)
parameters7 <- list(location = 0, scale = 1)
distr7 <- Distr$new(x = data7, name = "logistic", parameters = parameters7,
sd = 1 * sqrt(pi^2 / 3), n = 100, loglik = -140)
distr7$plot()
# Gamma
data8 <- rgamma(100, shape = 2, rate = 0.5)
parameters8 <- list(shape = 2, rate = 0.5)
distr8 <- Distr$new(x = data8, name = "gamma", parameters = parameters8,
sd = sqrt(2 / (0.5^2)), n = 100, loglik = -120)
distr8$plot()
# f
data9 <- rf(100, df1 = 5, df2 = 10)
parameters9 <- list(df1 = 5, df2 = 10)
df1 <- 5
df2 <- 10
distr9 <- Distr$new(x = data9, name = "f", parameters = parameters9,
sd = sqrt(((df2^2 * (df1 + df2 - 2)) /
(df1 * (df2 - 2)^2 * (df2 - 4)))),
n = 100, loglik = -150)
distr9$plot()
# t
data10 <- rt(100, df = 10)
parameters10 <- list(df = 10)
distr10 <- Distr$new(x = data10, name = "t", parameters = parameters10,
sd = sqrt(10 / (10 - 2)), n = 100, loglik = -120)
distr10$plot()
# negative binomial
data11 <- rnbinom(100, size = 5, prob = 0.3)
parameters11 <- list(size = 5, prob = 0.3)
distr11 <- Distr$new(x = data11, name = "negative binomial",
parameters = parameters11,
sd = sqrt(5 * (1 - 0.3) / (0.3^2)),
n = 100, loglik = -130)
distr11$plot()