box
workflowr
Our great sponsors
box | workflowr | |
---|---|---|
31 | 2 | |
811 | 806 | |
- | 1.4% | |
7.5 | 5.4 | |
15 days ago | 2 months ago | |
R | R | |
MIT License | GNU General Public License v3.0 or later |
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.
box
- 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.
workflowr
-
How do you manage results, plots, etc.?
I would start by saying "bioinformatics world" is a very broad term. Most of it does not involve managing multiple models, which is what MLflow seems to be for. Most work is cleaning the data and interpreting the results, which is highly project-specific. Something like workflowr is generally more appropriate, but even that is an overkill for most people.
-
Restructuring a large R project. Need advice on how to wire up file paths and associated objects.
Targets stores all your data serialised on disk, and only loads them in as needed by the dependencies. For a standardised folder structure, you can take inspiration from workflowr.
What are some alternatives?
renv - renv: Project environments for R.
targets - Function-oriented Make-like declarative workflows for R
ggplot2 - An implementation of the Grammar of Graphics in R
targets-minimal - A minimal example data analysis project with the targets R package
rnim - A bridge between R and Nim
reprex - Render bits of R code for sharing, e.g., on GitHub or StackOverflow.
tidytable - Tidy interface to 'data.table'
blogdown - Create Blogs and Websites with R Markdown
rspm - RStudio Package Manager
webR-quarto-demos - Experiments with generating a standalone Quarto Document using Web R
lintr - Static Code Analysis for R
data-science-development-project-template - A logical, reasonably standardized, but flexible project structure for doing and sharing data science research work while developing a software tool.