Skip to contents

A local web app over the package's analyses: every tab opens on a demonstration dataset (rmbldemo()) with its first analysis already run, and you can load a CSV file, the pinned data of a capsule, or a table from data.rmorie.com (after rmbl login) instead. Everything runs on this machine in this R session; nothing is sent anywhere except the data.rmorie.com requests you make.

Usage

rmblapp(data = NULL, capsule = NULL, ...)

Arguments

data

A data frame, or the path of a CSV file, to start with; NULL for none.

capsule

The directory of a capsule whose pinned data to start with; NULL for none.

...

Options passed to shiny::shinyApp(), such as port and launch.browser.

Value

A shiny app object; printing it (or shiny::runApp()) starts it.

Details

Each analysis page shows the headline numbers (estimate, interval, n and a verdict) in value boxes, the package's plot in a card that opens full screen and downloads as PNG, SVG or CSV, a diagnostics card (the checks and secondary tables the function returns, residual and goodness-of-fit plots where the method has them, effect sizes with a line on how to read them), the table, and the R call it ran, which runs exactly that call, so a result can be reproduced in a script by copying the code. The method card states the method in the words of its help page, its assumptions and what the numbers mean. A refusal is shown as the package words it, with explerr()'s explanation of where it comes from beside it, and as a toast. The resampling analyses (bootstraps, permutations, simulations and the Hawkes fits) run in a forked background process on Unix-alikes, so the page stays live while they work. “Share this view” in the navbar gives a link that reopens the page with the same tab, data and form.

The menus and their tabs:

Data

Describe: profcols(), freqtbl(), cortbl(), mahaoutl(), missgrid() and the distribution plots (plotrdg(), plotecdf(), plotvln(), plothex(), plotgain()); click a column of the profile to see its distribution. Distributions: dstfit() with its density, QQ, PP and tail plots, and a synthetic sample from a fit through mksyncol().

Over time

Year over year: yoy() (hover a period of its plot for the period's rows) and the yoyhtml() page to download. Rates: rtcalc(), ratechg() and shrs(). Trends: trndtst() (Mann-Kendall with the Theil-Sen slope), stepchg(), cnttrnd(), and plotcal(), plothrz(), plotsm() and plotbump().

Causal and survey

Survey: svydes() with weights, strata, clusters or replicate weights, then svyest() or svycmp(). Policy: plndid(), evstudy(), stgatt(), bacondcmp(), swtdid(), perminf(), syndid(), mtchdid(), wcb(), loounit(), cohtrnd(), plnpwr(), baltab() and tse().

Capsules

Drift: cpsdrft() on two snapshots, with a density whose brushed range gives each snapshot's share of rows, and the app of drftapp() for two CSV files. Capsule: the provenance of a capsule (source, pinned digest, manifest, attestation, bundle files) and its verification rows, with buttons that run vrfcps() and cpschk(), or cpsrfrsh(). Proof ledger: a ledger (ldgrread()) from the demo, a file, a capsule or an installed package, its theorems with their status and covered functions, and ldgrchk().

Domains

First Nations, Metis and Inuit: the bundled Statistics Canada tables (indiex()) or a table in the same layout: indgap(), dstntst(), ordcmp(), welprof() with dualcont(), healchg(), mhcont(), stdprev() and trcprog(). Each distinction is reported on its own, suppressed cells stay suppressed with their quality flags, and the page states the OCAP and CARE principles and the source tables. Courts and corrections: caseflow(), stkflow(), clrdcmp(), dispmix(), lifetbl(), crmdens(), knoxtst(), rgnmapintg(), and the SIU report readers siuprs() and siuso() on pasted text. Air pollution: plmfld() and gplume() for a Gaussian plume, the monitors of the demo series (plotsm()), crfpm25(), crfno2(), polbrdn() and vrfpol(). Hawkes: chwkfit() with plothwk() (intensity, time-rescaling QQ, branching tree), chwksim() and chwkjit(). Search and rescue: the search theory functions behind one form, ltrlrng(), srchpod(), pswppod(), datumpmap(), opteffort() and optcrcsrch(), with the POD and POS numbers and four plots, and any figure of Frost's The Theory of Search through srchfig().

Report

the results added from the tabs, as one self-contained HTML page (plots as inline SVG, year-over-year tables as yoyhtml() draws them), as Markdown, or as a GitHub comment to copy.

Settings

light, dark or the system's theme (also the switch in the navbar), digits, and the seed of the seeded analyses.

The data key of data.rmorie.com is never held by the app: dload() reads it from where rmbl login stored it.

The dashboard needs the shiny package (Suggests), and with it bslib, which shiny installs; without shiny rmblapp() refuses.

See also

rmbl app on the command line (blcli()); rmbldemo() for the datasets the tabs open on.

Examples

if (FALSE) { # interactive()
rmblapp()
rmblapp(indiex("health"))
}