kit

Fast data manipulation functions implemented in C for large datasets. Provides vectorized alternatives to base R functions with significant performance improvements.

Installation

# From CRAN
install.packages("kit")

# Development version
install.packages("kit", repos = "https://fastverse.r-universe.dev")

Features

Parallel Statistical Functions

Vector-valued functions operating in parallel over vectors or data frames:

x <- c(1, 3, NA, 5)
y <- c(2, NA, 4, 1)
psum(x, y, na.rm = TRUE)  # [1] 3 3 4 6
pmean(x, y, na.rm = TRUE) # [1] 1.5 3.0 4.0 3.0
fpmin(x, y, na.rm = TRUE) # [1] 1 3 4 1
fpmax(x, y, na.rm = TRUE) # [1] 2 3 4 5
prange(x, y, na.rm = TRUE) # [1] 1 0 0 4

Vectorized and Nested Switches

Fast vectorized conditional logic:

iif(x > 2, x, x - 1)  # Preserves attributes unlike base::ifelse
nif(x == 1, "one", x == 2, "two", default = "other")

Sorting

topn(x, n = 6L, decreasing = TRUE)  # Much faster than order()[1:6]

Factors

Unique Values and Counts

funique(iris$Species)  # Faster than base::unique
uniqLen(iris$Species)  # Faster than length(unique())

Miscellaneous

Documentation

Full documentation available at: https://fastverse.org/kit/

License

GPL-3