inst/doc/tips.R

## ---- echo = F, message = F, warning = F--------------------------------------
library(desctable)

## -----------------------------------------------------------------------------
labels <- c(mpg   = "Miles/(US) gallon",
            cyl   = "Number of cylinders",
            disp  = "Displacement (cu.in.)",
            hp    = "Gross horsepower",
            drat  = "Rear axle ratio",
            wt    = "Weight (1000 lbs)",
            qsec  = "1/4 mile time",
            vs    = "Engine",
            am    = "Transmission",
            gear  = "Number of forward gears",
            CARBURATOR = "Number of carburetors")

mtcars %>%
  desc_table(.labels = labels) %>%
  desc_output("DT")

## ---- eval = F----------------------------------------------------------------
#  stats_auto <- function(data) {
#    data %>%
#      lapply(is.numeric) %>%
#      unlist() %>%
#      any -> numeric
#  
#    data %>%
#      lapply(is.factor) %>%
#      unlist() %>%
#      any() -> fact
#  
#    stats <- list("Min"  = min,
#                  "Q1"   = ~quantile(., .25),
#                  "Med"  = stats::median,
#                  "Mean" = mean,
#                  "Q3"   = ~quantile(., .75),
#                  "Max"  = max,
#                  "sd"   = stats::sd,
#                  "IQR"  = IQR)
#  
#    if (fact & numeric)
#      c(list("N" = length,
#             "%" = percent),
#        stats)
#    else if (fact & !numeric)
#      list("N" = length,
#           "%" = percent)
#    else if (!fact & numeric)
#      stats
#  }

## -----------------------------------------------------------------------------
stats = list(N = length,
             Mean = mean,
             SD = sd)

mtcars %>%
  desc_table(!!!stats) %>%
  desc_output("DT")


## -----------------------------------------------------------------------------
stats2 = list(N = length,
              mean,
              sd)

mtcars %>%
  desc_table(!!!stats2) %>%
  desc_output("DT")


## -----------------------------------------------------------------------------
default_stats <- function(data)
{
  list(N = length,
       mean,
       sd)
}

## ---- eval = F----------------------------------------------------------------
#  tests_auto <- function(var, grp) {
#    grp <- factor(grp)
#  
#    if (nlevels(grp) < 2)
#      ~no.test
#    else if (is.factor(var)) {
#      if (tryCatch(is.numeric(fisher.test(var ~ grp)$p.value), error = function(e) F))
#        ~fisher.test
#      else
#        ~chisq.test
#    } else if (nlevels(grp) == 2)
#      ~wilcox.test
#    else
#      ~kruskal.test
#  }

## -----------------------------------------------------------------------------
mtcars %>%
  group_by(am) %>%
  desc_table(mean, sd) %>%
  desc_tests(.default = ~t.test) %>%
  desc_output("DT")

## ---- warning = F-------------------------------------------------------------
mtcars %>%
  group_by(am) %>%
  desc_table(mean, sd, median, IQR) %>%
  desc_tests(.default = ~t.test, carb = ~wilcox.test) %>%
  desc_output("DT")

## -----------------------------------------------------------------------------
iris %>%
  group_by(Species) %>%
  desc_table(mean, sd) %>%
  desc_tests() %>%
  desc_output("DT", digits = 10)

## -----------------------------------------------------------------------------
iris %>%
  group_by(Species) %>%
  desc_table(mean, sd) %>%
  desc_output("DT", filter = "top")

Try the desctable package in your browser

Any scripts or data that you put into this service are public.

desctable documentation built on March 24, 2022, 5:07 p.m.