Skip to content

k5cents/k5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a33b31b · Sep 9, 2024
Jan 17, 2023
Nov 1, 2023
Sep 9, 2024
Sep 9, 2024
Nov 1, 2023
Nov 1, 2023
Nov 13, 2020
Nov 1, 2023
Jan 17, 2023
Nov 13, 2020
Mar 10, 2024
Nov 11, 2020
Nov 1, 2023
Mar 10, 2024
Mar 11, 2024
Mar 11, 2024
Nov 13, 2020
Nov 12, 2020
Mar 10, 2024
Sep 13, 2022

Repository files navigation

k5

Lifecycle: experimental CRAN status Downloads Codecov test coverage R build status

The goal of ‘k5’ is to offer miscellaneous quality of life functions used by Kiernan Nicholls during interactive programming. They make things easier for me but are bad for scripts and packages.

Installation

You can install the release version of this package from CRAN:

install.packages("k5")

The development version can be installed from GitHub:

# install.packages("remotes")
remotes::install_github("k5cents/k5")

Example

library(k5)
packageVersion("k5")
#> [1] '0.2.1'

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 like mean(x %in% y) or sum(is.na(x)).

x <- c("VT", "NH", "ZZ", "ME", NA)
prop_in(x, state.abb)
#> [1] 0.75
count_na(x)
#> [1] 1

Some functions wrap functions from other packages with different defaults.

dplyr::count(mtcars, cyl)
#>   cyl  n
#> 1   4 11
#> 2   6  7
#> 3   8 14

# sort and add fraction
k5::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.219

There are also some handy shortcuts for the .Last.value tool.

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)