https://github.com/trobx/fjoin
Fast and friendly joins in R
https://github.com/trobx/fjoin
dataframe datatable join merge performance r sf tibble
Last synced: 15 days ago
JSON representation
Fast and friendly joins in R
- Host: GitHub
- URL: https://github.com/trobx/fjoin
- Owner: trobx
- License: other
- Created: 2025-03-08T22:17:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-18T14:25:17.000Z (3 months ago)
- Last Synced: 2026-03-19T01:23:30.015Z (3 months ago)
- Topics: dataframe, datatable, join, merge, performance, r, sf, tibble
- Language: R
- Homepage: https://trobx.github.io/fjoin/
- Size: 6.36 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.Rmd
- Changelog: NEWS.md
- License: LICENSE
Awesome Lists containing this project
README
---
output: github_document
---
```{r setup, include=FALSE}
options(width = 100) # console output width 100 characters (default 80)
pkg <- function(name) {
# style "pkgname" is defined in _pkgdown.yml
# NB will apply on pkgdown site front page but not on GH front page as GH strips style blocks
sprintf('%s', name)
}
```
# fjoin
**Data frame joins leveraging `r pkg("data.table")`**
*Please view this page on the [package website](https://trobx.github.io/fjoin/)
and head to the
[Get started](https://trobx.github.io/fjoin/articles/fjoin.html) guide next.*
## CRAN description
Extends `r pkg("data.table")` join functionality, lets it work with any data
frame class, and provides a familiar `x`/`y`-style interface, enabling broad use
across R. Offers NA-safe matching by default, on-the-fly column selection,
multiple match-handling on both sides, `x` or `y` row order, and a row origin
indicator. Performs inner, left, right, full, semi- and anti-joins with equality
and inequality conditions, plus cross joins. Specific support for `data.table`,
(grouped) tibble, and `sf`/`sfc` objects and their attributes; returns a plain
data frame otherwise. Avoids data-copying of inputs and outputs. Allows
displaying the `r pkg("data.table")` code instead of (or as well as) executing
it.
## Installation
Stable release (CRAN):
```r
install.packages("fjoin")
```
Latest development version ([R-universe](https://trobx.r-universe.dev)):
```r
install.packages("fjoin", repos = c("https://trobx.r-universe.dev"))
```
## More information
See [Get started](https://trobx.github.io/fjoin/articles/fjoin.html).