Skip to contents

Create a vector of class deb_tetra to integrate values with four units into standardized forms of analysis provided by R.

Usage

deb_tetra(
  l = double(),
  s = double(),
  d = double(),
  f = double(),
  bases = c(20, 12, 4)
)

Arguments

l

Numeric vector representing the pounds unit.

s

Numeric vector representing the shillings unit.

d

Numeric vector representing the pence unit.

f

Numeric vector representing the farthing or fourth unit.

bases

Numeric vector of length 3 used to specify the bases for the solidus or s, denarius or d, and farthing or f units. Default is c(20, 12, 4), which conforms to the English system of 1 pound = 20 shillings, 1 shilling = 12 pence, and 1 pence = 4 farthing.

Value

Returns a vector of class deb_tetra.

Details

The deb_tetra class extends the concept of the deb_lsd class to incorporate currencies and other types of values that consist of four units. A variety of currencies and measurements of weights expanded beyond the conventional tripartite system of pounds, shillings, and pence to include a fourth unit. deb_tetra adds a fourth unit, named f for farthing, to the l, s, and d units used by deb_lsd. The bases attribute of deb_tetra vectors makes it possible to specify alternative bases for the solidus, denarius, and farthing units.

The length of l, s, d, and f must either be all equal, or a vector of length 1 can be recycled to the length of the other argument(s). See the vctrs package for further details on recycling vectors. In addition, l, s, d, and f must either all have no values, resulting in a vector of length 0, or all possess numeric vectors.

See also

The deb_tetra class works in concert with the deb_decimal class, which can represent tetrapartite values as decimalized values. See deb_decimal(). To represent values with tripartite units see deb_lsd().

Examples


deb_tetra(5, 3, 8, 2)
#> <deb_tetra[1]>
#> [1] 5:3s:8d:2f
#> # Bases: 20s 12d 4f
deb_tetra(l = c(10, 8, 5),
          s = c(6, 13, 8),
          d = c(8, 4, 10),
          f = c(2, 3, 1))
#> <deb_tetra[3]>
#> [1] 10:6s:8d:2f 8:13s:4d:3f 5:8s:10d:1f
#> # Bases: 20s 12d 4f

# Recycle length 1 vector
deb_tetra(l = c(10, 8, 5),
          s = c(6, 13, 8),
          d = c(8, 4, 10),
          f = 2)
#> <deb_tetra[3]>
#> [1] 10:6s:8d:2f 8:13s:4d:2f 5:8s:10d:2f
#> # Bases: 20s 12d 4f

# Set the bases of the deb_tetra vector
deb_tetra(5, 3, 8, 2, bases = c(60, 16, 8))
#> <deb_tetra[1]>
#> [1] 5:3s:8d:2f
#> # Bases: 60s 16d 8f
deb_tetra(l = c(10, 28, 5),
          s = c(6, 33, 13),
          d = c(8, 12, 10),
          f = c(5, 3, 6),
          bases = c(60, 16, 8))
#> <deb_tetra[3]>
#> [1] 10:6s:8d:5f   28:33s:12d:3f 5:13s:10d:6f 
#> # Bases: 60s 16d 8f

# Create a prototype or vector of length 0
deb_tetra()
#> <deb_tetra[0]>
#> # Bases: 20s 12d 4f