sbp_basis function

Isometric log-ratio basis based on Balances

Isometric log-ratio basis based on Balances

Build an ilr_basis using a sequential binary partition or a generic coordinate system based on balances.

sbp_basis(sbp, data = NULL, fill = FALSE, silent = FALSE)

Arguments

  • sbp: parts to consider in the numerator and the denominator. Can be defined either using a list of formulas setting parts (see examples) or using a matrix where each column define a balance. Positive values are parts in the numerator, negative values are parts in the denominator, zeros are parts not used to build the balance.
  • data: composition from where name parts are extracted
  • fill: should the balances be completed to become an orthonormal basis? if the given balances are not orthonormal, the function will complete the balance to become a basis.
  • silent: inform about orthogonality

Returns

matrix

Examples

X = data.frame(a=1:2, b=2:3, c=4:5, d=5:6, e=10:11, f=100:101, g=1:2) sbp_basis(list(b1 = a~b+c+d+e+f+g, b2 = b~c+d+e+f+g, b3 = c~d+e+f+g, b4 = d~e+f+g, b5 = e~f+g, b6 = f~g), data = X) sbp_basis(list(b1 = a~b, b2 = b1~c, b3 = b2~d, b4 = b3~e, b5 = b4~f, b6 = b5~g), data = X) # A non-orthogonal basis can also be calculated. sbp_basis(list(b1 = a+b+c~e+f+g, b2 = d~a+b+c, b3 = d~e+g, b4 = a~e+b, b5 = b~f, b6 = c~g), data = X)
  • Maintainer: Marc Comas-Cufí
  • License: GPL
  • Last published: 2023-11-25