Package dipsaus
provides add-ons
to various packages such as shiny
, rlang
, future
, etc. to enhance these packages. To install the package,
# To install the development package
# remotes::install_github('dipterix/dipsaus')
# To install from CRAN
install.packages("dipsaus")
dipsaus
provides add-ons
from the following perspectives:
1. Shiny
Customized Widgets (Vignette)
compoundInput2
assembles any shiny native inputs and create variable-length input;actionButtonStyled
add styles to shiny defaultactionButton
and its updating function can also update the styles or enable/disable the button;sync_shiny_inputs
synchronize among shiny inputs without causing dead-locks in UI changes;set_shiny_input
to set shinyinput
object;flex_div
to display elements withflex
layout;html_asis
escapes string so that they will be displayed 'as-is' on websites;progress2
shows shiny progress bar, but it also works without shiny;shiny_is_running
check if shiny is running;
collapse
is a parallel solution to calculate sum/mean along arrays, providing4x
speed-ups for large arrays;make_forked_clusters
enablesmulticore
(forked clusters) infuture
package even inRStudio
environment;baseline_array
to baseline arrays in multicore;shift_array
to shift arrays along given dimensions;lapply_async2
usesfuture
package, but with progress bar either in console or in shiny apps;fastcov2
calculates covariance matrices in parallel;rs_exec
starts a new R session or job inRStudio
;
3. R Expressions (Vignette)
eval_dirty
works asbase::eval
, but supports quosures generated fromrlang::quo
;match_calls
match calls in a nested manner, and support changing the call arguments recursively;%?<-%
assigns default values to left-hand object. E.g.a %?<-% 1
assignsa
to be1
ifa
isNULL
or does not exist;%=>%
provides JavaScript-style of creating functions;new_function2
creates new function with quasi-quotation;mask_function2
modifies function and mask certain elements within a function;capture_expr
captures messages and always return results as one-line string;forelse
provides Python-like for-else syntax;test_farg
tests whether function contains desired arguments;
4. Utility Functions (Vignette)
check_installed_packages
,package_installed
checks if package(s) are installed;col2hexStr
convert color to hex strings that are friendly toHTML
,CSS
andJavaScript
;parse_svec
converts a string into integer vectors,deparse_svec
converts integer vectors back into a compact string;drop_nulls
removes invalid items within lists;get_ram
,mem_limit2
gets total RAM size as an alternatives formem.limits
in non-windows environment;to_ram_size
provides simple way to convert numbers to printable storage sizes in given units;time_delta
calculates time differences and returns a number in given units;ask_yesno
,ask_or_default
interactively ask for user's input either in console or inRStudio
;fastmap2
andfastqueue2
provides a wrapper offastmap
package, giving the object list-like operations;shared_finalizer
finalizes multiple elements when last element is garbage collected;dev_create
allows managing and grouping graphic devices;print_directory_tree
prints directory and containing files into tree-structures;rs_*
functions wrappingrstudioapi
functions, but work withoutRStudio
;sexp_type2
get internal data type code;to_datauri
converts file tobase64
formats.