sideview: Multi-Table 2D Infinite Canvas for R sideview hex logo

R-CMD-check License: MIT Lifecycle: experimental

sideview puts many tables side by side on a pan-and-zoom canvas, so you can compare them, connect columns to build joins, check those joins before you run them, and take away reproducible tidyverse code. It runs as an RStudio gadget or as an htmlwidget you can save to HTML or embed in Quarto and R Markdown.

Installation

Install the development version from GitHub:

# install.packages("remotes")
remotes::install_github("lauyeehow1986-hub/sideview")

Key Features

Quick Start

library(sideview)

patients <- data.frame(
  patient_id = c("P01", "P02", "P03", "P04"),
  age        = c(45, 52, 38, 61),
  sex        = c("Male", "Female", "M", "Fem")
)
visits <- data.frame(
  patient_id  = c("P01", "P02", "P03", "P05"),
  systolic_bp = c(120, 140, 115, 130)
)

# 1. Open the canvas (RStudio dialog by default; also viewer = "pane" or "browser")
if (interactive()) {
  sideview(patients, visits)
}

# 2. Check a join before you run it
sv_join_diagnostics(patients, visits, by = "patient_id",
                    x_name = "patients", y_name = "visits")

# 3. Build a data dictionary across tables
sv_codebook(patients, visits)

# 4. Share the canvas as a standalone HTML file
save_sideview(sideview_widget(patients, visits), file = "study_overview.html")

To embed the canvas in Quarto or R Markdown, put sideview_widget(patients, visits, height = "650px") in a chunk.

sideview is a research and education tool for exploring and preparing data. It is not medical device software and is not intended for clinical decisions.