## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----setup, echo=FALSE-------------------------------------------------------- library(shiny) library(dipsaus) data(ToothGrowth) ## ----eval=FALSE--------------------------------------------------------------- # if ( exists("aa") && !is.null(aa) ) { # aa <- 1 # } ## ----eval=TRUE---------------------------------------------------------------- aa %?<-% 1 print(aa) ## ----------------------------------------------------------------------------- l %?<-% list() l$aa %?<-% 1 print(l) ## ----------------------------------------------------------------------------- # e already exists e <- list(aa = 1) # %?<-% will not evaluate rhs, nor assign values system.time({ e %?<-% { Sys.sleep(10) list(aa = 2) } print(e) }) ## ----------------------------------------------------------------------------- li <- c("A", "T", "G", "C") li |> iapply(alist(el, ii) %=>% { sprintf("The index for %s is %s", el, ii) }) ## ----------------------------------------------------------------------------- alist(a, b = a^2, ...) %=>% { print(c(a, b, ...)) } ## ----------------------------------------------------------------------------- match.call(textInput, call = quote(textInput("inputId", "label", "aaa"))) ## ----------------------------------------------------------------------------- match.call(tagList, call = quote(tagList( div( tags$ul( tags$li(textInput("inputId", "label", "aaa")) ) ) ))) ## ----------------------------------------------------------------------------- match_calls(call = tagList( div( tags$ul( tags$li(textInput("inputId", "label", "aaa")) ) ) ), recursive = TRUE) ## ----------------------------------------------------------------------------- match_calls( call = tagList(div(tags$ul( tags$li(textInput("inputId", "label", "aaa")) ))), recursive = TRUE, replace_args = list( "inputId" = function(v, ...) { as.call(list(quote(ns), v)) } ) ) ## ----eval=FALSE--------------------------------------------------------------- # x_tmp <- x |> # do_something(...) # # plot(x_tmp) # # final_results <- x_tmp |> # do_others(...) ## ----eval=FALSE--------------------------------------------------------------- # final_results <- x |> # do_something(...) |> # no_op(plot, ylim = c(0, 100)) |> # do_others(...) ## ----fig.width=7,fig.height=5------------------------------------------------- par(mfrow = c(1, 2)) result <- (1:10) |> iapply(alist(el, ii) %=>% { rnorm(20, el, ii) }, simplify = FALSE) |> unlist() |> # Begin no-ops, result will not change no_op({ # Use expression and "." to refer the data print(summary(.)) }) |> no_op( # Use function and pass ... to function plot, x = seq(0, 1, length.out = 200), type = "p", ylim = c(-20, 20), pch = 16, xlab = "Time", ylab = "Value", las = 1 ) |> no_op(hist, xlab = "Values", main = "Histogram") str(result) ## ----------------------------------------------------------------------------- ToothGrowth |> do_aggregate(len ~ ., mean)