Math and Summary group of functions with deb_lsd
and deb_tetra
vectors.
Implemented functions:
Math group:
abs()
,round()
,signif()
,ceiling()
,floor()
,trunc()
,cummax()
,cummin()
, andcumsum()
.Additional generics:
mean()
,is.nan()
,is.finite()
, andis.infinite()
.
All other functions from the groups not currently implemented,
including median()
, quantile()
, and summary()
.
Arguments
- x
An vector of class
deb_lsd
ordeb_tetra
.- ...
deb_lsd
ordeb_tetra
vectors insum()
and arguments passed on to further methods inmean()
.- na.rm
Logical. Should missing values (including `NaN``) be removed?
- digits
Integer. Indicating the number of decimal places (
round()
) or significant digits (signif()
) to be used.
Details
sum()
and cumsum()
return a normalized deb_lsd
or deb_tetra
values.
Round family of functions only affect the denarius (d
) unit of a
deb_lsd
value and the farthing (f
) unit of deb_tetra
value.
All values are normalized.
If you need a wider implementation of Math and Summary group functions,
use a deb_decimal
vector. However, median()
, quantile()
, and
summary()
are also not currently implemented for deb_decimal
vectors.
To use these functions cast deb_lsd
, deb_tetra
, and deb_decimal
vectors to numeric.
Examples
x <- deb_lsd(l = c(5, 8, 12),
s = c(16, 6, 13),
d = c(6, 11, 0))
y <- deb_tetra(l = c(5, 8, 12),
s = c(16, 6, 13),
d = c(6, 11, 0),
f = c(3, 2, 3))
# All values are normalized with sum and cumsum
sum(x)
#> <deb_lsd[1]>
#> [1] 26:16s:5d
#> # Bases: 20s 12d
sum(y)
#> <deb_tetra[1]>
#> [1] 26:16s:7d:0f
#> # Bases: 20s 12d 4f
cumsum(x)
#> <deb_lsd[3]>
#> [1] 5:16s:6d 14:3s:5d 26:16s:5d
#> # Bases: 20s 12d
cumsum(y)
#> <deb_tetra[3]>
#> [1] 5:16s:6d:3f 14:3s:6d:1f 26:16s:7d:0f
#> # Bases: 20s 12d 4f
mean(x)
#> <deb_lsd[1]>
#> [1] 8:18s:9.667d
#> # Bases: 20s 12d
mean(y)
#> <deb_tetra[1]>
#> [1] 8:18s:10d:1.333f
#> # Bases: 20s 12d 4f
# Round family on deb_lsd affects the denarius unit
x2 <- deb_lsd(5, 12, 5.8365)
y2 <- deb_tetra(5, 12, 8, 4.125)
round(x2)
#> <deb_lsd[1]>
#> [1] 5:12s:6d
#> # Bases: 20s 12d
round(y2)
#> <deb_tetra[1]>
#> [1] 5:12s:9d:0f
#> # Bases: 20s 12d 4f
round(x2, digits = 2)
#> <deb_lsd[1]>
#> [1] 5:12s:5.84d
#> # Bases: 20s 12d
signif(x2, digits = 2)
#> <deb_lsd[1]>
#> [1] 5:12s:5.8d
#> # Bases: 20s 12d
ceiling(x2)
#> <deb_lsd[1]>
#> [1] 5:12s:6d
#> # Bases: 20s 12d
ceiling(y2)
#> <deb_tetra[1]>
#> [1] 5:12s:9d:1f
#> # Bases: 20s 12d 4f
floor(x2)
#> <deb_lsd[1]>
#> [1] 5:12s:5d
#> # Bases: 20s 12d
floor(y2)
#> <deb_tetra[1]>
#> [1] 5:12s:9d:0f
#> # Bases: 20s 12d 4f
trunc(x2)
#> <deb_lsd[1]>
#> [1] 5:12s:5d
#> # Bases: 20s 12d
trunc(y2)
#> <deb_tetra[1]>
#> [1] 5:12s:9d:0f
#> # Bases: 20s 12d 4f
# The returned values are normalized whether
# they are positive or negative
x3 <- deb_lsd(9, 19, 11.825)
x4 <- deb_lsd(-9, -19, -11.825)
round(x3)
#> <deb_lsd[1]>
#> [1] 10:0s:0d
#> # Bases: 20s 12d
round(x3, digits = 1)
#> <deb_lsd[1]>
#> [1] 9:19s:11.8d
#> # Bases: 20s 12d
ceiling(x3)
#> <deb_lsd[1]>
#> [1] 10:0s:0d
#> # Bases: 20s 12d
floor(x4)
#> <deb_lsd[1]>
#> [1] -10:0s:0d
#> # Bases: 20s 12d
trunc(x3)
#> <deb_lsd[1]>
#> [1] 9:19s:11d
#> # Bases: 20s 12d
trunc(x4)
#> <deb_lsd[1]>
#> [1] -9:-19s:-11d
#> # Bases: 20s 12d