declare: Declare basic .r objects with extended functionality

declareR Documentation

Declare basic .r objects with extended functionality

Description

This family of functions enforces the restrictions that names must (a) contain only ASCII letters, numerals, '.', and '_'; (b) begin with a letter or '.' followed by a letter; and (c) end with a letter or numeral.

Functions declaring atomic data.frames:

  dtf Declares a data frame.
   
  dtf. Declares a data frame concisely: dtf.(a, b) is identical to data.frame(a = a, b = b, stringsAsFactors = F).
   
  dtf0 Declares a 0-row data frame.
   
  dtfNA   Declares a data frame of NA values.



Functions declaring matrices:

  mat Declares a matrix.
   
  matd Declares a square diagonal matrix: off-diagonals are 0, FALSE, and "" consistent with mode(av(...)).
   
  matNA   Declares a matrix of NA values.



Functions declaring atomic vectors:

  vec Declares a vector.
   
  vec. Declares a named atomic vector concisely: vec.(a, b) is identical to c(a = a, b = b).
   
  vecNA   Declares a vector of NA values.



Functions declaring vlists:

  vls Declares a vlist.
   
  vls.   Declares a named vlist concisely: vls.(a, b) is identical to list(a = a, b = b).

Usage

dtf(..., ..cn = NULL)

dtf.(...)

dtf0(.cn)

dtfNA(.cn, .nr)

mat(..., .r = 1, .nr = NULL, .nc = NULL, .br = F, .rn = NULL, .cn = NULL)

matNA(.nr = 1, .nc = 1, .rn = NULL, .cn = NULL)

matd(x = 1, .r = 1)

vec(..., .r = 1, .vn = NULL)

vec.(...)

vecNA(.r)

vls(..., .vn = NULL)

vls.(...)

Arguments

...

Objects to placed in an atomic vec, atomic matrix, atomic data.frame, vlist, or square atomic diagonal matrix. Atomized for vec and matrix creation.

.cn

Possibly pipe-delimited complete character vec of matrix/data.frame column names.

.nr

Complete positive whole-number scalars giving number of matrix rows.

.r

A non-NA numeric scalar number of replications.

.nc

Complete positive whole-number scalars giving number of matrix columns.

.br

TRUE or FALSE indicating whether to fill matrices by row.

.rn

Possibly pipe-delimited complete character vec of matrix row names.

x

A non-empty vector of mode 'numeric', 'character', or 'logical'.

.vn

A possibly pipe-delimited, complete character vec of names to apply to vector or list elements

Value

An atomic data.frame

⁠dtf, dtf., dtf0, dtfNA⁠

An atomic vector

⁠vec, vec., vecNA⁠

A vlist

⁠vls, vls.⁠

A square matrix

dmat

A matrix

mat

Examples

egA <- "a"
egB <- "b"
egC <- "c"
egNA <- NA
egABC <- c(a, b, c)
egNums <- 0:9
egNUMS <- 1:9
egLabs1 <- c("abc", "nums", "na")
egLabs2 <- c("abc", "NUMS", "na")

vec(egA, egB, egC)
vec(egA, egB, egC, .vn = abc)
vec(egA, egB, egC, .vn = "a|b|c")
vec(egA = egA, egB = egB, egC = egC)
vec.(egA, egB, egC)
vecNA(3)

mat(1:9)
mat(1:9, .nr = 3)
mat(1:9, .nc = 3)
mat(1:9, .nr = 3, .rn = "a|b|c", .cn = egABC, .br = TRUE)
dmat(egABC)
dmat(1, 3)
dmat(TRUE, 3)

vls(egABC, egNums, egNA)
vls(egABC, egNums, egABC, .vn = Labs1)
vls(egABC = egABC, egNums = egNums, egNA = egNA)
vls(egABC, egNums, egNA, .vn = "egABC|egNums|egNA")
vls.(egABC, egNums, egNA)

dtf(egABC, egNUMS, egNA, ..cn = Labs2)
dtf(egABC = egABC, egNUMS = egNUMS, egNA = egNA)
dtf(egABC, egNUMS, egNA, ..cn = "egABC|egNUMS|egNA")
dtf.(egABC, egNUMS, egNA)
dtf0(egABC)
dtf0("egA|egB|egC")
dtfNA(egABC, 3)

j-martineau/uj documentation built on Sept. 14, 2024, 4:40 a.m.