
The goal of ‘k5’ is to offer miscellaneous quality of life functionsused byKiernan Nicholls duringinteractive programming. They make things easier for me but arebad for scripts and packages.
You can install the release version of this package fromCRAN:
install.packages("k5")The development version can be installed fromGitHub:
# install.packages("remotes")remotes::install_github("k5cents/k5")library(k5)packageVersion("k5")#> [1] '0.2.0'A list of frequently used packages can be loaded from a file.
load_my_packages()#> ✔ load 19 packages from#> '/home/kiernan/R/x86_64-pc-linux-gnu-library/4.1/k5/PACKAGES'Some functions wrap common combos likemean(x %in% y) orsum(is.na(x)).
x<-c("VT","NH","ZZ","ME",NA)prop_in(x, state.abb)#> [1] 0.75count_na(x)#> [1] 1Some functions wrap functions from other packages with differentdefaults.
dplyr::count(mtcars, cyl)#> cyl n#> 1 4 11#> 2 6 7#> 3 8 14# sort and add fractionk5::count2(mtcars, cyl)#> # A tibble: 3 × 3#> cyl n p#> <dbl> <int> <dbl>#> 1 8 14 0.438#> 2 4 11 0.344#> 3 6 7 0.219There are also some handy shortcuts for the.Last.valuetool.
df<-tail(mtcars,50)write_last()#> ℹ `.Last.value` has class 'data.frame'#> ✓ Saved tab-separated file '/tmp/RtmpFTaCH6/file15127cc7851b.tsv' (1.25K)vc<-sample(state.name,1000,replace =TRUE)write_last()#> ℹ `.Last.value` has class 'character'#> ✓ Saved line-separated file '/tmp/RtmpFTaCH6/file151235b67c89.txt' (9.19K)