Calculate the interest of pounds, shillings, and pence given an interest rate and a duration. The function does not calculate compound interest.

deb_interest(lsd, interest, duration = 1, with_principal = TRUE,
bases = c(20, 12), round = 5)

## Arguments

lsd An lsd value. An object of class lsd or an object that can be coerced to class lsd: a numeric vector of length 3 or a list of such vectors. Interest rate in decimal form. A numeric vector of length 1. Duration over which the interest is calculated, or the number of times that the interest should be added. A numeric vector of length 1. Default is 1. Logical (default TRUE): when TRUE the resulting pounds, shillings and pence value(s) will include the principal as well as the interest. When FALSE only the interest will be returned. Numeric vector of length 2 used to specify the bases for the shillings or s and pence or d units. Default is c(20, 12), which conforms to the most widely used system of 1 pound = 20 shillings and 1 shilling = 12 pence. If lsd is of class lsd, the bases attribute will be used in the place of this argument. Round pence unit to specified number of decimal places. Default is 5. Set to 0 to return pence as whole number.

## Value

Returns an object of class lsd with a bases attribute.

## Examples

# Calculate the interest with the principal over a certain duration
# If £10.14.5 were lent over a period of 5 years at 6.25%
deb_interest(lsd = c(10, 14, 5), interest = 0.0625, duration = 5)#>      l s      d
#> [1] 14 1 5.0625
# If £10.14.5 were lent over a period of 5 years at 8%
deb_interest(lsd = c(10, 14, 5), interest = 0.08, duration = 5)#>      l s   d
#> [1] 15 0 2.2
# Or you can calculate only the interest
deb_interest(lsd = c(10, 14, 5),
interest = 0.0625,
duration = 5,
with_principal = FALSE)#>     l s      d
#> [1] 3 7 0.0625
# Interest for an lsd value with alternative bases
deb_interest(lsd = c(10, 14, 5),
interest = 0.0625,
duration = 5,
bases = c(20, 16))#>      l s      d
#> [1] 14 1 4.5625
# Interest of an object of class lsd will use the bases attribute
lsd <- deb_as_lsd(lsd = c(10, 14, 5), bases = c(20, 16))
deb_interest(lsd = lsd, interest = 0.0625, duration = 5)#>      l s      d
#> [1] 14 1 4.5625
# Interest of a list of lsd values at a single rate
lsd_list <- list(c(40, 5, 9), c(29, 7, 1), c(35, 6, 5))
deb_interest(lsd = lsd_list, interest = 0.08, duration = 5)#>      l s    d
#> [1] 56 8  0.6
#> [2] 41 1 11.0
#> [3] 49 8 11.8
# Or an lsd object with alternative bases
lsd_list2 <- deb_as_lsd(lsd = lsd_list, bases = c(20, 16))
deb_interest(lsd = lsd_list2, interest = 0.08, duration = 5)#>      l s    d
#> [1] 56 7 12.6
#> [2] 41 1 14.2
#> [3] 49 8 13.4