Title: Convert 'sjPlot' HTML-Tables to R 'data.frame'
Version: 0.0.4
Description: A small set of helper functions to convert 'sjPlot' HTML-tables to R data.frame objects / knitr::kable-tables.
License: GPL (≥ 3)
URL: https://github.com/kapsner/sjtable2df
BugReports: https://github.com/kapsner/sjtable2df/issues
Depends: R (≥ 3.6)
Imports: data.table, kableExtra, magrittr, rlang, rvest, stats, xml2
Suggests: lintr, lme4, mlbench, quarto, sjPlot, testthat (≥ 3.0.1)
VignetteBuilder: quarto
Config/testthat/edition: 3
Config/testthat/parallel: false
Date/Publication: 2025-04-04 14:50:02 UTC
Encoding: UTF-8
SystemRequirements: Quarto command line tools (https://github.com/quarto-dev/quarto-cli).
RoxygenNote: 7.3.2
NeedsCompilation: no
Packaged: 2025-04-04 14:38:57 UTC; user
Author: Lorenz A. Kapsner ORCID iD [cre, aut, cph]
Maintainer: Lorenz A. Kapsner <lorenz.kapsner@gmail.com>
Repository: CRAN

Dot Helper

Description

https://github.com/tidyverse/magrittr/issues/29


mtab2df

Description

Convert table from sjPlot::tab_model to R data.frame or knitr::kable

Usage

mtab2df(mtab, n_models, output = "data.table", ...)

Arguments

mtab

A model table, created with sjPlot::tab_model.

n_models

An integer, specifiying the number of models in the table.

output

A character vector. Allowed values are: "data.table" (default), "data.frame" or "kable". The function's return value is of the respective type.

...

Further arguments to be passed to kableExtra::kbl.

Value

The table is returned as an R object of the type specified with the output argument.

Examples


set.seed(1)
dataset <- data.table::data.table(
  "var1" = factor(sample(
    x = c("yes", "no"),
    size = 100,
    replace = TRUE,
    prob = c(.3, .7)
  )),
  "var2" = factor(sample(
    x = c("yes", "no"),
    size = 100,
    replace = TRUE
  )),
  "var3" = rnorm(100)
)

# models
m0 <- stats::glm(
  var1 ~ 1,
  data = dataset,
  family = binomial(link = "logit")
)
m1 <- stats::glm(
  var1 ~ var2,
  data = dataset,
  family = binomial(link = "logit")
)
m2 <- stats::glm(
  var1 ~ var2 + var3,
  data = dataset,
  family = binomial(link = "logit")
)

m_table <- sjPlot::tab_model(m0, m1, m2, show.aic = TRUE)

final_tab <- sjtable2df::mtab2df(mtab = m_table, n_models = 3)


xtab2df

Description

Convert table from sjPlot::tab_xtab to R data.frame or knitr::kable

Usage

xtab2df(xtab, output = "data.table", threeparttable = FALSE, ...)

Arguments

xtab

A contingency table, created with sjPlot::tab_xtab.

output

A character vector. Allowed values are: "data.table" (default), "data.frame" or "kable". The function's return value is of the respective type.

threeparttable

Boolean value indicating if a threeparttable scheme should be used.

...

Further arguments to be passed to kableExtra::kbl.

Value

The table is returned as an R object of the type specified with the output argument.

Examples

set.seed(1)
dataset <- data.table::data.table(
  "var1" = sample(
    x = c("yes", "no"),
    size = 100,
    replace = TRUE,
    prob = c(.3, .7)
  ),
  "var2" = sample(
    x = c("yes", "no"),
    size = 100,
    replace = TRUE
  )
)

xtab <- sjPlot::tab_xtab(
  var.row = dataset$var1,
  var.col = dataset$var2,
  show.summary = TRUE,
  use.viewer = FALSE
)

sjtable2df::xtab2df(xtab = xtab)