tidytable
Tidy interface to 'data.table' (by markfairbanks)
box
Write reusable, composable and modular R code (by klmr)
tidytable | box | |
---|---|---|
26 | 31 | |
458 | 879 | |
1.3% | 1.0% | |
7.7 | 6.5 | |
22 days ago | 6 months ago | |
R | R | |
GNU General Public License v3.0 or later | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tidytable
Posts with mentions or reviews of tidytable.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-09.
- Tidyverse 2.0.0
-
fuzzyjoin - "Error in which(m) : argument to 'which' is not logical"
If you need speed, you should consider using dtplyr (or tidytable), or even dbplyr with duckdb.
-
tidytable v0.10.0 is now on CRAN - use tidyverse-like syntax with data.table speed
What do you think of this instead?
-
Offering several functions to create the same object in my package
Here's an example - I use this in a package I've built called tidytable. Here is the as_tidytable() function I use that uses method dispatch.
-
Dplyr performance issues (Late 2022)
If you're having performance issues with dplyr you can also try out tidytable
-
R Dialects Broke Me
I’d say tidytable is a better option these days as it supports more functions. Although I think dtplyr has improved on this front recently, but still lags. The author of tidytable contributes to dtplyr as well.
-
Why is mlr3 so under-marketed?
I know you said it 'feels much faster' which isn't exactly a data oriented comparison, but tidymodels performs very well. You can see one of the dplyr functions as step_* in tidymodels, for example mutate vs. step_mutate under recipes library. The author of tidytable, which uses data.table, had some revisions due to this conversation, just as an example.
-
Why is {dplyr} so huge, and are there any alternatives or a {dplyr} 'lite' that I can use for the basic mutate, group_by, summarize, etc?
Tidytable is what you might be looking for: https://markfairbanks.github.io/tidytable/, this will require a bit of refactoring (e.g group-bys happen as arguments in summarise/mutate). You'll get data.table like speed in a very compact & complete package.
-
Programming with R {dplyr}
People can also use tidytable and keep the same workflow they're already used to 😄
- tidytable v0.8.1 is on CRAN - it also comes with a new logo! Need data.table speed with tidyverse syntax? Check out tidytable.
box
Posts with mentions or reviews of box.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-04.
- Trying to Replicate Excel financial Functions
-
Can someone explain how R project are organized and deployed?
As for organising code within a project, as mentioned packages really don’t allow this beyond collation order. The best solution in this space is the ‘box’ package which implements a fully-featured module system for R. ‘box’ notably gets used by some folks to implement large-scale Shiny applications; if this is what you’re after, I would recommend the ‘rhino’ framework, which builds upon Siny and ‘box’.
-
Good practice with long R scripts - any examples?
You can write amazing, clean, modular code with the box package.
-
Does anyone feel like R is actually vastly worse for dependency/environment management than Python?
I would look into box https://github.com/klmr/box if you haven’t heard of it already
-
"Managing large codebases in R" webinar (Oct. 6, 2022)
Shapeless plug: check out the already mentioned ‘box’, I think it’s strictly superior to ‘import’ (but I’m biased).
-
Get tsarted wiht R using this Cheat Sheet - DataCamp
By contrast, R code doesn’t need to change the working directory at all! Having to do so hides other flaws in the code. For instance, when trying to load code or data, use the tools provided by R. That is, write packages and use system.file or, when not writing packages, use ‘box’.
-
Which R function do you find somewhat tricky?
‘box’ fixes that.
-
Restructuring a large R project. Need advice on how to wire up file paths and associated objects.
I think your use-case is best addressed by the ‘targets’ package. But I would also recommend checking out the ‘box’ package for a more general way of structuring R projects in modules which isn’t supported well natively by R (disclaimer: I wrote that package). Writing R code as modules fundamentally side-steps the issue of having to deal with absolute paths. Instead, all code and data are either contained in the module or can be accessed relative to the working directory.
-
[Q] Loading `dplyr` packages within a function but not outside of it
However, using ‘box’, as recommended in another comment, allows you to achieve the same effect with less (and cleaner) code, by declaring your imports locally with the box::use function.
-
Is it possible to see what functions are used from what library?
If you're writing you're own code you can use packageName::functionName(), or the box package. Which is definitely useful on larger codebases.
What are some alternatives?
When comparing tidytable and box you can also consider the following projects:
dtplyr - Data table backend for dplyr
rnim - A bridge between R and Nim
tidypolars - Tidy interface to polars
rspm - RStudio Package Manager
root - The official repository for ROOT: analyzing, storing and visualizing big data, scientifically
lintr - Static Code Analysis for R
Tidier.jl - Meta-package for data analysis in Julia, modeled after the R tidyverse.
renv - renv: Project environments for R.
tidyr - Tidy Messy Data
workflowr - Organize your project into a research website
extendr - R extension library for rust designed to be familiar to R users.
fun - Module for functional programming in R