The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Quick and essential ‘R’ tricks for better, cleaner, more reproducible scripts.
quickcode is a collection of small, dependable helpers for everyday R
scripting: a full family of not.* validation functions,
PHP-style array/data-frame operations (push,
pop, shuffle, rep),
nullish-coalescing and “not in” operators, outlier and distribution
detection, super variables, function-usage tracking, RStudio snippet
addins, and more. None of it is flashy — it just removes boilerplate
you’d otherwise rewrite in every project.
Install the released version from CRAN:
install.packages("quickcode")Or install the development version from GitHub:
# install.packages("devtools")
devtools::install_github("oobianom/quickcode")Load it like any other package:
library(quickcode)is.null() has no
built-in opposite. quickcode adds not.null(),
not.na(), not.numeric(),
not.integer(), not.logical(),
not.vector(), not.data(),
not.environment(), not.duplicated(),
not.image(), not.inherits(),
not.exists() and friends, so conditionals read the way
you’d say them out loud.vector_push(), vector_pop(),
data_push(), data_pop(),
list_push(), data_shuffle(),
data_rep() bring the array functions many scripters miss
from other languages, working across vectors, lists, and data
frames.%nin%
(not in), %or% (nullish coalescing), %eo%
(error coalescing), and %match% (string similarity) shorten
common conditional patterns.refresh()
/ clean() clear the console, clear the environment, reset
the working directory, and reload files/libraries in a single call.is.normal, is.poisson,
is.weibull, …), geometric mean/SD/CV, and histogram
comparisons.newSuperVar() creates
a variable that is accessible and mutable from any scope, with optional
locking, class enforcement, and a limited number of permitted
edits.track_func()
wraps functions to record call frequency, timing, and argument patterns,
for lightweight profiling and usage analytics.
The not.* family
not.null(NULL) # TRUE
not.na(NA) # FALSE
not.integer(45L) # FALSE
not.integer(45) # TRUENullish coalescing and “not in”
NULL %or% "default" # "default"
NA %or% "default" # "default"
5 %or% "default" # 5
5 %nin% c(1:10) # FALSE
5 %nin% c(11:20) # TRUEPHP-style vector and data frame helpers
p1 <- c(6, 7, 8)
p2 <- c(1, 2, 3)
vector_push(p1, p2)
p1
#> [1] 6 7 8 1 2 3
df1 <- data.frame(ID = 1:10, ID2 = 1:10)
df2 <- data.frame(ID = 11:20, ID2 = 21:30)
data_push(df1, df2, "rows")One-line variable initialization
init(a, b, c) # a, b, c set to NULL
init(x, y, z, value = 5) # x, y, z set to 5Environment reset
quickcode::refresh()
quickcode::clean(
setwd = "/path/to/project",
source = c("file1.R", "file2.R"),
load = c("data.RData")
)Super variables
newSuperVar(config, value = list(threshold = 10), lock = TRUE)
config # view current value
config.set(list(threshold = 20)) # blocked while lockedOutlier and distribution checks
x <- c(rnorm(100), 50)
detect_outlier2(x)
zscore(x)
is.normal(rnorm(100))See vignette("quickcode_r_introduction") for a longer
walkthrough.
| Function | Description |
|---|---|
not.null |
Not NULL |
not.na |
Not NA |
not.empty / is.empty |
Not empty / is empty |
not.numeric |
Not numeric |
not.integer |
Not an integer |
not.logical |
Not logical |
not.vector |
Not a vector |
not.data |
Not a data object |
not.duplicated |
Not duplicated elements |
not.environment |
Not an environment |
not.image / is.image |
File extension is/isn’t an image |
not.inherits |
Does not inherit from specified classes |
not.exists |
Object does not exist |
has.error |
Check if a call or expression produces an error |
| Operator | Description |
|---|---|
%nin% (alias %!in%) |
Not in vector or array |
%or% |
Nullish coalescing operator |
%eo% |
Error coalescing operator |
%match% |
Percentage string similarity match |
%.% |
Simple function chaining |
| Function | Description |
|---|---|
vector_push / vector_pop |
Add / remove elements from a vector |
list_push |
Add elements to a list |
data_push / data_pop |
Add / remove rows or columns from a data frame |
data_pop_filter |
Remove elements from data matching a filter |
data_rep / rows.rep /
cols.rep |
Duplicate rows or columns X times |
data_shuffle / list_shuffle /
vector_shuffle |
Shuffle a data frame, list, or vector |
switch_rows / switch_cols |
Swap two rows or columns |
sample_by_column |
Re-sample a dataset by column |
mutate_filter |
Mutate only a subset of a dataset |
add_key (alias indexed) |
Add index keys to a vector, list, data frame, or matrix |
| Function | Description |
|---|---|
init |
Initialize one or more variables/objects at once |
newSuperVar |
Create a variable accessible/mutable from any scope, with locking and edit limits |
setOnce |
Set a variable only once |
refresh / clean /
libraryAll |
Clear environment/console, reset working directory, load files & libraries |
summarize.envobj |
Summarize environment objects and their sizes |
lastwd |
Return to the previous working directory |
| Function | Description |
|---|---|
zscore / zscore_outlier /
zscore_outlier2 |
Z-score calculation and z-score-based outlier flagging |
detect_outlier / detect_outlier2 /
iqr_outlier |
Outlier detection (including grouped) |
is.normal, is.lognormal,
is.uniform, is.poisson, is.gamma,
is.weibull, is.cauchy,
is.logistic |
Test whether data fits a given distribution |
getDistribution |
Fit-check data against a distribution |
geo.mean, geo.sd, geo.cv |
Geometric mean, standard deviation, coefficient of variation |
mode.calc |
Mode of a numeric or character vector |
na.cumsum |
Cumulative sum with NA removal |
normalize.vector |
Normalize a numeric vector to [0, 1] |
sub.range / in.range |
Range difference / range membership checks |
unique_len |
Combine unique() and length() |
pairDist |
Distance of points from a cluster center |
compHist |
Compare histograms of two distributions |
| Function | Description |
|---|---|
cat_to_num / cat_to_num2 |
Convert categorical values to numeric |
from_tensor_slices |
Create tensor-like slices from a data frame or matrix |
multihead_att |
Multi-head attention computation |
learn_rate_scheduler |
Learning rate scheduling utilities |
make_dosing_df |
Create subject-by-time dosing records with covariates |
| Function | Description |
|---|---|
bionic_txt |
Generate bionic-reading formatted text |
randString |
Generate a random string |
strsplit.bool / strsplit.num |
Split a string into a boolean / numeric vector |
percent_match |
Percentage match between two strings |
ndecimal |
Count decimal places in a number |
as.boolean / yesNoBool |
Convert between boolean representations |
extract_comment / remove_comment /
remove_content_in_quotes |
Text/comment extraction and cleanup |
getDate |
Extract all dates from a string |
extract_IP |
Extract IP addresses from a string |
| Function | Description |
|---|---|
date1to3 / date3to1 |
Combine vectors into a Date, or split a Date into vectors |
getWeekSeq |
Convert dates into numeric week counts |
is.leap |
Check whether a year is a leap year |
fAddDate |
Append a date to a filename |
is.increasing / is.decreasing |
Check whether values in a vector are increasing/decreasing |
| Function | Description |
|---|---|
duplicate |
Duplicate a file with global text replacement |
ai.duplicate |
Prompt-guided duplication and editing of files |
trim.file |
Remove empty lines from a file |
sort_file_type / sort_length |
Sort a vector by file type or content length |
read.csv.print / read.table.print |
Read and preview the first X rows/columns of a file |
insertInText |
Insert a string into the current RStudio file (Shiny helper) |
| Addin / function | Description |
|---|---|
add.header |
Add a header comment to the current R file |
header.rmd |
Add a header comment to the current Rmd file |
add.sect.comment |
Insert a custom section comment |
add.snippet.clear |
Insert a console-clear / set-directory snippet |
| Function | Description |
|---|---|
rcolorconst |
Named R color constants |
mix.color / mix.cols.btw |
Blend two or more colors |
setDisAlpha / unsetDisAlpha |
Set/unset color transparency |
create_shape |
Create geometric shapes with optional text |
| Function | Description |
|---|---|
find_packages |
Search CRAN packages by keyword |
archivedPkg |
List all CRAN-archived R packages |
rDecomPkg |
Check whether a package has been decommissioned from CRAN |
getGitRepoStart / getGitRepoChange |
Fetch a GitHub repo’s creation / last-updated date |
track_func |
Track function call frequency, timing, and usage patterns |
| Function | Description |
|---|---|
plus / minus / inc |
Increment or decrement a vector by a value |
number |
Generate random integers |
const |
Common mathematical constants |
math.mm / math.qt |
Miscellaneous math and confidence-interval computations |
error.out (%eo%) |
Return an alternative value if an expression errors |
or (%or%) |
Return an alternative value if an expression is empty/NA/NULL |
chain_sep (%.%) /
chain_func |
Simple function chaining |
This list covers the most commonly used functions; run
library(help = "quickcode") or browse the man/
directory for the complete, authoritative reference with full argument
details and runnable examples.
vignette("quickcode_r_introduction") — general tour of
the packagevignette("add_today_date_to_filenames_quickcode") —
appending dates to filenames with fAddDate()vignette("nullish_coalescing_operator_r") — using
%or% and %eo%vignette("track_function_usage_r") — profiling function
usage with track_func()MIT © Obinna Obianom. See LICENSE for details.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.