-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.Rmd
109 lines (78 loc) · 3.47 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
require(pipeflow)
require(badger)
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#",
prompt = F,
fig.path = "images/README-",
tidy = FALSE,
cache = FALSE,
out.width = "100%"
)
old <- options(width = 100L)
```
<!-- badges: start -->
`r badge_cran_release()`
[![dependencies](https://tinyverse.netlify.app/badge/pipeflow)](https://CRAN.R-project.org/package=pipeflow)
`r badge_codecov(branch = "main")`
`r badge_github_actions(action = "R-CMD-check")`
`r badge_github_actions(action = "test-coverage")`
`r badge_github_actions(action = "lint")`
`r badge_cran_checks()`
`r badge_cran_download("pipeflow", "last-month")`
`r badge_cran_download("pipeflow", "grand-total")`
`r badge_last_commit()`
`r badge_lifecycle("experimental", color = "orange")`
<!-- badges: end -->
# pipeflow <img src="man/figures/logo.png" alt="logo" align="right" width="163" height="121"/>
A lightweight yet powerful framework for building robust data analysis pipelines.
With `pipeflow`, you initialize a pipeline with your dataset and construct your workflow
step by step by seamlessly adding R functions. Modify, remove, or insert steps at
any stage while `pipeflow` ensures the integrity and correctness of your pipeline.
Designed to help you focus on the *what* rather than the *how*, this package simplifies
the implementation of complex workflows, making even large-scale data analysis projects
manageable, adaptable, and reusable with ease.
### Why use `pipeflow`
* Easy to learn yet suited for complex workflows
* Automatically manages function dependencies
* Promotes standardized, reproducible analysis
* Simplifies error handling, debugging, and reusability
### Key features
* *Flexible Application:* Use interactively or programmatically in R
* *Dependency Management:* Dependencies checked at definition, ensuring reliable workflows
* *Comprehensive Logging:* Logs each step, with customizable logger options
* *Parameter Control:* View and manage all analysis parameters in one place
* *Modular Composition:* Modify, extend, and combine pipelines effortlessly
* *Intelligent Execution:* Skip steps already up-to-date, similar to `make`
* *Visualization:* View pipelines in both tabular and graphical formats
### Advanced features
* *Dynamic Branching:* Apply the same pipeline to multiple datasets seamlessly
* *Self-Modifying:* Pipelines can adapt and modify themselves at runtime
### Installation
```{r, eval = FALSE}
# Install release version from CRAN
install.packages("pipeflow")
# Install development version from GitHub
devtools::install_github("rpahl/pipeflow")
```
### Usage
```{r}
library(pipeflow)
```
### Getting Started
It is recommended to read the vignettes in the order they are listed below:
* [Get started with pipeflow](https://rpahl.github.io/pipeflow/articles/v01-get-started.html)
* [Modifying existing pipelines](https://rpahl.github.io/pipeflow/articles/v02-modify-pipeline.html)
* [Combining pipelines](https://rpahl.github.io/pipeflow/articles/v03-combine-pipelines.html)
* [Collecting output](https://rpahl.github.io/pipeflow/articles/v04-collect-output.html)
### Advanced topics
* [How to use pipeflow with split data sets](https://rpahl.github.io/pipeflow/articles/v05-split-and-combine.html)
* [How pipelines can modify themselves at runtime](https://rpahl.github.io/pipeflow/articles/v06-self-modify-pipeline.html)
```{r, include = FALSE}
options(old)
```