Analysis updated 2026-08-16 · repo last pushed 2026-05-16
Organize and check a messy set of CSV files for integrity before publishing results.
Prototype a data model locally in memory and then deploy it to a production database.
Visualize and validate relationships across multiple related tables before analysis.
Flatten related tables into a single wide table for analysis without manual join setup.
| hadley/dm | 000madz000/rfid-attendance | 00kaku/gallery-slider-block | |
|---|---|---|---|
| Language | — | TypeScript | JavaScript |
| Last pushed | 2026-05-16 | 2024-07-22 | 2021-05-19 |
| Maintenance | Maintained | Dormant | Dormant |
| Setup difficulty | easy | easy | easy |
| Complexity | 2/5 | 2/5 | 2/5 |
| Audience | data | developer | general |
Figures from each repo's GitHub metadata at analysis time.
Install directly from CRAN with install.packages('dm'), no external infrastructure or API keys needed.
If you work with data in R, you often deal with multiple tables that relate to each other, say, a flights table, an airports table, and an airlines table. The dm package helps you organize, connect, and work with those tables as a single unit rather than juggling them individually. At its core, dm lets you bundle related data frames together into one object and define how they link up, which columns are primary keys, which are foreign keys, and so on. Once your tables are connected, you get a few useful capabilities: you can visualize the relationships between tables, perform joins that automatically "know" how tables relate to each other (so you don't have to manually specify join columns every time), and run consistency checks that flag data problems like orphaned records or missing references. You can also flatten related tables into a single wide table when you need everything in one place for analysis. This is built for R users who work with relational data, researchers, analysts, and data teams. A solo analyst might use it to keep a messy set of CSV files organized and check them for integrity before publishing results. A team might use it to prototype a data model locally and then deploy that same structure to a production database, scaling from in-memory data frames to a system holding billions of rows. The design philosophy borrows heavily from dplyr, R's most popular data manipulation toolkit. If you already know dplyr verbs like filter, mutate, and select, dm extends that same familiar grammar to multi-table workflows. That means there's very little new syntax to learn, you're largely applying tools you already know to a broader context. The project is stable, MIT-licensed, and available on CRAN, which is the standard distribution channel for R packages.
An R package that bundles related data frames into a single object, lets you define how they link together, and then automates joins, visualizes relationships, and checks data integrity across all tables.
Maintained — commit in last 6 months (last push 2026-05-16).
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly data.
This repo across BitVibe Labs
Verify against the repo before relying on details.