From a1522e088fa9bc0671187a31af0c57b01aba2655 Mon Sep 17 00:00:00 2001 From: DivadNojnarg Date: Mon, 15 Jul 2024 18:51:41 +0200 Subject: [PATCH] improve readme --- .gitignore | 2 + README.Rmd | 114 +++++++++++++++++--- README.md | 84 ++++++++++++--- _pkgdown.yml | 1 + vignettes/blockr_examples.Rmd | 12 ++- vignettes/figures/blockr-penguins-stack.png | Bin 0 -> 61460 bytes vignettes/new-field.Rmd | 4 +- 7 files changed, 182 insertions(+), 35 deletions(-) create mode 100644 vignettes/figures/blockr-penguins-stack.png diff --git a/.gitignore b/.gitignore index 2d085d04..5d2d7ffb 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ node_modules docs inst/doc wiki + +/.quarto/ diff --git a/README.Rmd b/README.Rmd index d461d73d..d6fa099f 100644 --- a/README.Rmd +++ b/README.Rmd @@ -15,6 +15,7 @@ knitr::opts_chunk$set( library(blockr) library(bslib) +library(DiagrammeR) ``` # blockr @@ -26,29 +27,114 @@ library(bslib) Building blocks for data manipulation and visualization operations. -`{blockr}` has been built for webR (wasm) and is available for download with -`webr::install("blockr", repos = c("https://blockr-org.github.io/webr-repos", "https://repo.r-wasm.org"))`. +```{r, echo=FALSE} +mermaid(" + flowchart TD + subgraph LR workspace[Workspace] + subgraph stack1[Stack] + direction LR + subgraph input_block[Block 1] + input(Data: dataset, browser, ...) + end + subgraph transform_block[Block 2] + transform(Transform block: filter, select ...) + end + subgraph output_block[Block 3] + output(Result/transform: plot, filter, ...) + end + input_block --> |data| transform_block --> |data| output_block + end + subgraph stack2[Stack 2] + stack1_data[Stack 1 data] --> |data| transform2[Transform] + end + stack1 --> |data| stack2 + subgraph stackn[Stack n] + stacki_data[Stack i data] --> |data| transformn[Transform] --> |data| Visualize + end + stack2 ---> |... data| stackn + end + ", + height = "500px" +) |> + htmlwidgets::onRender( + "function(el, x) { + el.classList.add('text-center') + } + " + ) +``` + +Key features: + +1. **User-Friendly Interface**: Build data pipelines with intuitive interface. +2. **Flexibility**: Easily add, remove, or rearrange blocks in your pipeline. +3. **Extensibility**: Developers can create custom blocks to extend functionality. +4. **Reproducibility**: Pipelines created with `blockr` are easily shareable and reproducible, with exportable code. +5. **Interactivity**: Real-time feedback as you build and modify your pipeline. + +## Installation + +You can install the development version of blockr from [GitHub](https://github.com/) with: ```r -library(blockr) -library(blockr.data) +pak::pak("blockr-org/blockr") +``` -data_block <- new_dataset_block(selected = "lab", package = "blockr.data") +## Example: palmer penguins case study + +Below is a simple case study involving `{blockr}`. We use the palmerpenguins dataset to find out which +femal species has the largest flippers. We create 2 custom blocks allowing to create our plot block (see the plot vignette for more details). Note that the `{blockr.ggplot2}` package exposes some ready to use blocks. + +```r +library(blockr) +library(palmerpenguins) +library(ggplot2) + +new_ggplot_block <- function(col_x = character(), col_y = character(), ...) { + + data_cols <- function(data) colnames(data) + + new_block( + fields = list( + x = new_select_field(col_x, data_cols, type = "name"), + y = new_select_field(col_y, data_cols, type = "name") + ), + expr = quote( + ggplot(mapping = aes(x = .(x), y = .(y))) + ), + class = c("ggplot_block", "plot_block"), + ... + ) +} + +new_geompoint_block <- function(color = character(), shape = character(), ...) { + + data_cols <- function(data) colnames(data$data) + + new_block( + fields = list( + color = new_select_field(color, data_cols, type = "name"), + shape = new_select_field(shape, data_cols, type = "name") + ), + expr = quote( + geom_point(aes(color = .(color), shape = .(shape)), size = 2) + ), + class = c("plot_layer_block", "plot_block"), + ... + ) +} stack <- new_stack( - data_block, - new_select_block + data_block = new_dataset_block("penguins", "palmerpenguins"), + filter_block = new_filter_block("sex", "female"), + plot_block = new_ggplot_block("flipper_length_mm", "body_mass_g"), + layer_block = new_geompoint_block("species", "species") ) serve_stack(stack) ``` -## Installation - -You can install the development version of blockr from [GitHub](https://github.com/) with: - -```r -# install.packages("devtools") -pak::pkg_install("blockr-org/blockr") +```{r blockr-penguins-stack, echo=FALSE, fig.cap='Penguins app demo', fig.align = 'center', out.width='100%'} +knitr::include_graphics("vignettes/figures/blockr-penguins-stack.png") ``` ## Contribute diff --git a/README.md b/README.md index 35a866b2..7b4ab433 100644 --- a/README.md +++ b/README.md @@ -11,31 +11,87 @@ Building blocks for data manipulation and visualization operations. -`{blockr}` has been built for webR (wasm) and is available for download -with -`webr::install("blockr", repos = c("https://blockr-org.github.io/webr-repos", "https://repo.r-wasm.org"))`. +Key features: + +1. **User-Friendly Interface**: Build data pipelines with intuitive + interface. +2. **Flexibility**: Easily add, remove, or rearrange blocks in your + pipeline. +3. **Extensibility**: Developers can create custom blocks to extend + functionality. +4. **Reproducibility**: Pipelines created with `blockr` are easily + shareable and reproducible, with exportable code. +5. **Interactivity**: Real-time feedback as you build and modify your + pipeline. + +## Installation + +You can install the development version of blockr from +[GitHub](https://github.com/) with: + +``` r +pak::pak("blockr-org/blockr") +``` + +## Example: palmer penguins case study + +Below is a simple case study involving `{blockr}`. We use the +palmerpenguins dataset to find out which femal species has the largest +flippers. We create 2 custom blocks allowing to create our plot block +(see the plot vignette for more details). Note that the +`{blockr.ggplot2}` package exposes some ready to use blocks. ``` r library(blockr) -library(blockr.data) +library(palmerpenguins) +library(ggplot2) -data_block <- new_dataset_block(selected = "lab", package = "blockr.data") +new_ggplot_block <- function(col_x = character(), col_y = character(), ...) { + + data_cols <- function(data) colnames(data) + + new_block( + fields = list( + x = new_select_field(col_x, data_cols, type = "name"), + y = new_select_field(col_y, data_cols, type = "name") + ), + expr = quote( + ggplot(mapping = aes(x = .(x), y = .(y))) + ), + class = c("ggplot_block", "plot_block"), + ... + ) +} + +new_geompoint_block <- function(color = character(), shape = character(), ...) { + + data_cols <- function(data) colnames(data$data) + + new_block( + fields = list( + color = new_select_field(color, data_cols, type = "name"), + shape = new_select_field(shape, data_cols, type = "name") + ), + expr = quote( + geom_point(aes(color = .(color), shape = .(shape)), size = 2) + ), + class = c("plot_layer_block", "plot_block"), + ... + ) +} stack <- new_stack( - data_block, - new_select_block + data_block = new_dataset_block("penguins", "palmerpenguins"), + filter_block = new_filter_block("sex", "female"), + plot_block = new_ggplot_block("flipper_length_mm", "body_mass_g"), + layer_block = new_geompoint_block("species", "species") ) serve_stack(stack) ``` -## Installation - -You can install the development version of blockr from -[GitHub](https://github.com/) with: - ``` r -# install.packages("devtools") -pak::pkg_install("blockr-org/blockr") +appdir <- system.file("examples", "penguins", package = "blockr") +appshot(appdir, delay = 3) ``` ## Contribute diff --git a/_pkgdown.yml b/_pkgdown.yml index 3821bfaf..43dc59d2 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -24,6 +24,7 @@ articles: desc: ~ navbar: User Guide contents: + - "`blockr_examples`" - "`data-blocks`" - "`registry`" - "`plot-block`" diff --git a/vignettes/blockr_examples.Rmd b/vignettes/blockr_examples.Rmd index ddbfa1e9..85a596ba 100644 --- a/vignettes/blockr_examples.Rmd +++ b/vignettes/blockr_examples.Rmd @@ -1,7 +1,10 @@ --- -title: "blockr: Flexible Data Pipeline Building for Everyone" -output: html_document -date: "2024-07-07" +title: "blockr: case studies" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{blockr: case studies} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} --- ```{r setup, include=FALSE} @@ -41,8 +44,6 @@ new_slider_field <- function(value = 5L, min = 0L, max = 10L, step = 1L, ...) { #' @method ui_input slider_field #' @export ui_input.slider_field <- function(x, id, name) { - ns <- NS(input_ids(x, id)) - shiny::sliderInput( blockr:::input_ids(x, id), name, @@ -741,6 +742,7 @@ serve_stack(marketing_impact_stack) ### 5. Dynamical systems +In the below example, we implemented the Lorenz attractor and solve it with the `{pracma}` R package (technically, the reason using `{pracma}` over `{deSolve}` or `{diffeqr}` is because only `{pracma}` is available for shinylive required by the embeded demo). ```{r, eval=TRUE, echo=FALSE} card( diff --git a/vignettes/figures/blockr-penguins-stack.png b/vignettes/figures/blockr-penguins-stack.png new file mode 100644 index 0000000000000000000000000000000000000000..a12a1d6f291aa1f265b202610c41780e3937eedb GIT binary patch literal 61460 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 literal 0 HcmV?d00001 diff --git a/vignettes/new-field.Rmd b/vignettes/new-field.Rmd index 586d1e39..87d021dd 100644 --- a/vignettes/new-field.Rmd +++ b/vignettes/new-field.Rmd @@ -1,8 +1,8 @@ --- -title: "new-field" +title: "4. Case study: create a new field" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{new-field} + %\VignetteIndexEntry{4. Case study: create a new field} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} ---