#' @title Get model parameters from htest-objects
#' @name get_parameters.htest
#'
#' @description Returns the parameters from a hypothesis test.
#'
#' @param ... Currently not used.
#' @inheritParams find_parameters
#'
#' @return A data frame with two columns: the parameter names and the related
#' point estimates.
#'
#' @examples
#' get_parameters(t.test(1:10, y = c(7:20)))
#' @export
get_parameters.htest <- function(x, ...) {
m_info <- model_info(x)
if (m_info$is_correlation) {
out <- .extract_htest_correlation(x)
} else if (m_info$is_levenetest) {
out <- .extract_htest_levenetest(x)
} else if (m_info$is_ttest) {
out <- .extract_htest_ttest(x)
} else if (m_info$is_ranktest) {
out <- .extract_htest_ranktest(x)
} else if (m_info$is_onewaytest) {
out <- .extract_htest_oneway(x)
} else if (m_info$is_chi2test) {
out <- .extract_htest_chi2(x)
} else if (m_info$is_proptest) {
out <- .extract_htest_prop(x)
} else if (m_info$is_binomtest) {
out <- .extract_htest_binom(x)
} else {
format_error("`get_parameters()` not implemented for such hypothesis tests yet.")
}
row.names(out) <- NULL
out
}
# extract htest correlation ----------------------
.extract_htest_correlation <- function(model) {
out <- data.frame(
Parameter = model$data.name,
stringsAsFactors = FALSE
)
if (model$method == "Pearson's Chi-squared test") {
out$Estimate <- model$statistic
} else {
out$Estimate <- model$estimate
}
out
}
# extract htest ranktest ----------------------
.extract_htest_ranktest <- function(model) {
out <- data.frame(
Parameter = model$data.name,
stringsAsFactors = FALSE
)
if (grepl("Wilcoxon", model$method, fixed = TRUE)) {
out$Estimate <- model$statistic
} else if (grepl("Kruskal-Wallis", model$method, fixed = TRUE)) {
out$Estimate <- model$statistic
}
out
}
# extract htest leveneTest ----------------------
.extract_htest_levenetest <- function(model) {
data.frame(
Parameter = "Parameter",
Estimate = model$`F value`[1],
stringsAsFactors = FALSE
)
}
# extract htest ttest ----------------------
.extract_htest_ttest <- function(model, standardized_d = NULL, hedges_g = NULL) {
out <- data.frame(
Parameter = model$data.name,
stringsAsFactors = FALSE
)
if (length(model$estimate) == 1) {
out$Estimate <- model$estimate
} else {
out$Estimate <- model$estimate[1] - model$estimate[2]
}
out
}
# extract htest oneway ----------------------
.extract_htest_oneway <- function(model) {
NULL
}
# extract htest chi2 ----------------------
.extract_htest_chi2 <- function(model) {
out <- data.frame(
Parameter = model$data.name,
stringsAsFactors = FALSE
)
if (!is.null(model$estimate) && identical(names(model$estimate), "odds ratio")) {
out$Estimate <- model$estimate
} else {
out$Estimate <- model$statistic
}
out
}
# extract htest prop ----------------------
.extract_htest_prop <- function(model) {
out <- data.frame(
Parameter = "probability",
Estimate = model$estimate,
stringsAsFactors = FALSE
)
}
# extract htest binom ----------------------
.extract_htest_binom <- function(model) {
out <- data.frame(
Parameter = "probability",
Estimate = model$estimate,
stringsAsFactors = FALSE
)
out
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.