## -----------------------------------------------------------------------------
library(micsr)


## -----------------------------------------------------------------------------
head(charitable, 5)


## -----------------------------------------------------------------------------
charitable$logdon <- with(charitable, log(donation) - log(25))


## -----------------------------------------------------------------------------
#| message: false
char_form <- logdon ~ log(donparents) + log(income) +
    education + religion + married + south
if (requireNamespace("AER")){
    library("AER")
    ml_aer <- tobit(char_form, data = charitable)
}
if (requireNamespace("censReg")){
    library("censReg")
    ml_creg <- censReg(char_form, data = charitable)
}
ml <- tobit1(char_form, data = charitable)


## -----------------------------------------------------------------------------
scls <- update(ml, method = "trimmed")
ols <- update(ml, method = "lm")


## -----------------------------------------------------------------------------
cmtest(ml)


## -----------------------------------------------------------------------------
#| include: false
cmtest(ml_aer)
cmtest(ml_creg)


## -----------------------------------------------------------------------------
cmtest(ml, test = "heterosc")


## -----------------------------------------------------------------------------
cmtest(ml, test = "normality", opg = TRUE)
cmtest(ml, test = "heterosc", opg = TRUE)


## -----------------------------------------------------------------------------
cmtest(ml, test = "skewness")
cmtest(ml, test = "kurtosis")


## -----------------------------------------------------------------------------
#| label: fig-histnorm
#| fig-cap: "Empirical distribution of the response and normal approximation"
#| echo: false
#| message: false
if (requireNamespace("ggplot2")){
    library(ggplot2)
    mu <- mean(subset(charitable, logdon > 0)$logdon)
    std <- sd(subset(charitable, logdon > 0)$logdon)
    ggplot(subset(charitable, logdon > 0), aes(logdon)) +
        geom_histogram(aes(y = after_stat(density)), color = "black",
                       fill = "white", bins = 10) +
        geom_function(fun = dnorm, args = list(mean = mu,
                                               sd = std)) +
        labs(x = "log of charitable giving", y = NULL)
}