Package {cataScience}


Title: Interactive Training App for Data Science and AI Skills
Version: 2.1.2
Description: An interactive 'shiny' training companion for people who are new to data, developed for World Health Organization data trainings. Bundles hands-on modules for importing data, missing values, outliers, text cleaning, merging, visualization, and basic statistics, plus a set of AI-skills pages (prompting levels, a prompt gallery, AI safety rules, and a methodology case study) and an interactive quiz with per-session topic filters. Launch the app with run_cata().
License: MIT + file LICENSE
Language: en-US
URL: https://github.com/shanlong-who/cataScience
BugReports: https://github.com/shanlong-who/cataScience/issues
Encoding: UTF-8
Depends: R (≥ 4.1.0)
Imports: broom, bslib (≥ 0.6.0), cowplot, dplyr (≥ 1.1.0), DT, forcats, ggplot2, markdown, mice, naniar, plotly, purrr, readr, readxl, rio, scales, shiny (≥ 1.8.1), skimr, stringr, tibble, tidyr, VIM
Suggests: testthat (≥ 3.0.0), withr
Config/testthat/edition: 3
Config/roxygen2/version: 8.0.0
NeedsCompilation: no
Packaged: 2026-07-21 12:28:02 UTC; User
Author: Shanlong Ding ORCID iD [aut, cre]
Maintainer: Shanlong Ding <dings@who.int>
Repository: CRAN
Date/Publication: 2026-07-30 16:50:19 UTC

Launch the "A Journey of Data Science" training app

Description

Starts the interactive training app bundled with the package: import, clean, visualize, and understand data, then learn to work with AI assistants safely. The app opens in your default browser.

Usage

run_cata(...)

Arguments

...

Passed on to shiny::runApp(), for example port or launch.browser.

Value

No return value; called for the side effect of launching the app. The function blocks the R session while the app is running.

Examples

# The app is bundled with the package and launched from its own directory.
app_dir <- system.file("app", package = "cataScience")
file.exists(file.path(app_dir, "app.R"))

# Starting the app needs an interactive session, since it blocks R until
# the browser window is closed.
if (interactive()) {
  run_cata()
}