Construct Mixed Type Data Structures with Vectors of Vectors
Overview
Mixed type vectors are useful for combining semantically similar classes. Some examples of semantically related classes include time across different granularities (e.g. daily, monthly, annual) and probability distributions (e.g. Normal, Uniform, Poisson). These groups of vector types typically share common statistical operations which vary in results with the attributes of each vector. The 'vecvec' data structure facilitates efficient storage and computation across multiple vectors within the same object.
Improvements
- Restoring a
vecvecfrom its vctrs proxy is much faster (no longer quadratic in its length). Rows are now grouped by the identity of their slots rather than hashing their contents once per row. vecvec_apply()now splicesvecvecresults from.finto the result instead of nesting them, sounvecvec()simplifies them directly.
Bug fixes
vec_c()andvec_rbind()(and sodplyr::bind_rows()) no longer reorder elements when the inputs' storage is interleaved, e.g.vec_c(a, b, a)previously returned the elements ofblast.c()of a single zero-lengthvecvec(e.g.c(x[0])) no longer errors with "Underlying data must be <integer> not <list>".
Show all changes in 1.4.0Hide the rest of the changes in 1.4.0
duplicated(),anyDuplicated()andunique()now detect duplicates among elements whose indices point at the same stored value, e.g. afterx[c(1, 1)]. Missing indices are now duplicates of each other rather thanNA.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-04
- NOTE12 OK, 1 NOTE2026-08-01
- OK14 OK2026-03-10
Documentation
- Help pages
- 11 (1 internal)includes a package overview page
- Examples that run
- 83%5 run in a plain check · 1 never run
- Exported functions with examples
- 60%
- Documented parameters
- 94%
- Return-value docs
- 90%
- Help pages citing references
- 0%
Downloads
Repository
- PRs merged (all time)
- 100%
- Median days to close, 50 most recently updated closed issues
- 2
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Forks over time
Releases over time
Issues over time
Commits over time
Commit identities over time
7 development-tooling and community-health practices detected across 4 families in the upstream repository
Checks run against github.com/mitchelloharawild/vecvec on 2026-10-11.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2026-10-11 · The repository has a site deploy workflow
Dependencies
Installing vecvec adds 6 packages (5 with compiled code, 2.8 MB of source tarballs). Heaviest: vctrs 1.0 MB, rlang 766 KB, cli 629 KB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 1.4.0Latest2026-10-12 · current release · diff ↗ ··
added 1 export
vecvec_abind26 hours in CRAN's queue
Listed in CRAN's incoming queue from 2026-10-11 06:41 to 2026-10-12 08:29 UTC, in 6 readings. - 1.3.0
- 1.2.02026-06-23 · diff ↗
- 1.1.02026-06-04 · diff ↗
- 1.0.02026-04-27 · diff ↗ ·
removed 1 export
new_vecvecadded 7 exports
class_vecvec, cor, cov, is_vecvec, var, vecvec_apply_fn, vecvec_register - RR 4.6.0 released · 2026-04-24
- 0.2.12026-04-08 · diff ↗
- 0.2.0
- 0.1.02025-06-29
- RR 4.5.0 released · 2025-04-11
Package metadata
- First published
- 2025-06-29
- Total releases
- 8 / 1 yrs
- License
- MIT + file LICENSE OSI
- Download size
- 53 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("vecvec")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-18, which the citation names so these numbers can be found later. More on citing and the projects behind them.