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
# pak::pak('dipterix/dipsaus')
# To install from CRAN
install.packages("dipsaus")dipsaus provides add-ons from the following perspectives:
1. Shiny Customized Widgets (Vignette)
-
compoundInput2assembles any shiny native inputs and create variable-length input; -
actionButtonStyledadd styles to shiny defaultactionButtonand its updating function can also update the styles or enable/disable the button; -
sync_shiny_inputssynchronize among shiny inputs without causing dead-locks in UI changes; -
set_shiny_inputto set shinyinputobject; -
flex_divto display elements withflexlayout; -
html_asisescapes string so that they will be displayed ‘as-is’ on websites; -
progress2shows shiny progress bar, but it also works without shiny; -
shiny_is_runningcheck if shiny is running;
2. Parallel Functions
-
collapseis a parallel solution to calculate sum/mean along arrays, providing4xspeed-ups for large arrays; -
make_forked_clustersenablesmulticore(forked clusters) infuturepackage even inRStudioenvironment; -
baseline_arrayto baseline arrays in multicore; -
shift_arrayto shift arrays along given dimensions; -
lapply_async2usesfuturepackage, but with progress bar either in console or in shiny apps; -
fastcov2calculates covariance matrices in parallel; -
rs_execstarts a new R session or job inRStudio;
3. R Expressions (Vignette)
-
eval_dirtyworks asbase::eval, but supports quosures generated fromrlang::quo; -
match_callsmatch calls in a nested manner, and support changing the call arguments recursively; -
%?<-%assigns default values to left-hand object. E.g.a %?<-% 1assignsato be1ifaisNULLor does not exist; -
%=>%provides JavaScript-style of creating functions; -
new_function2creates new function with quasi-quotation; -
mask_function2modifies function and mask certain elements within a function; -
capture_exprcaptures messages and always return results as one-line string; -
forelseprovides Python-like for-else syntax; -
test_fargtests whether function contains desired arguments;
4. Utility Functions (Vignette)
-
check_installed_packages,package_installedchecks if package(s) are installed; -
col2hexStrconvert color to hex strings that are friendly toHTML,CSSandJavaScript; -
parse_svecconverts a string into integer vectors,deparse_svecconverts integer vectors back into a compact string; -
drop_nullsremoves invalid items within lists; -
get_ram,mem_limit2gets total RAM size as an alternatives formem.limitsin non-windows environment; -
to_ram_sizeprovides simple way to convert numbers to printable storage sizes in given units; -
time_deltacalculates time differences and returns a number in given units; -
ask_yesno,ask_or_defaultinteractively ask for user’s input either in console or inRStudio; -
fastmap2andfastqueue2provides a wrapper offastmappackage, giving the object list-like operations; -
shared_finalizerfinalizes multiple elements when last element is garbage collected; -
dev_createallows managing and grouping graphic devices; -
print_directory_treeprints directory and containing files into tree-structures; -
rs_*functions wrappingrstudioapifunctions, but work withoutRStudio; -
sexp_type2get internal data type code; -
to_datauriconverts file tobase64formats.