Skip to contents

Multiplicative replacement of zeros.

Usage

# S4 method for class 'CompositionMatrix'
replace_zero(x, value, delta = 2/3)

Arguments

x

A CompositionMatrix object.

value

A numeric vector giving the detection limits of each part (in \((0,1)\)).

delta

A numeric vector specifying the fraction of the detection limit to be used in replacement.

Value

An CompositionMatrix object, where all zero values have been replaced.

References

Aitchison, J. (1986). The Statistical Analysis of Compositional Data. London: Chapman and Hall.

Martín-Fernández, J. A., Barceló-Vidal, C. & Pawlowsky-Glahn, V. (2003). Dealing with Zeros and Missing Values in Compositional Data Sets Using Nonparametric Imputation. Mathematical Geology, 35(3): 253-278. doi:10.1023/A:1023866030544 .

See also

Other imputation methods: missing, replace_NA()

Author

N. Frerebeau

Examples

## Data from Martín-Fernández et al. 2003
X <- data.frame(
  X1 = c(0.0000, 0.1304, 0.1963),
  X2 = c(0.1250, 0.3151, NA),
  X3 = c(0.1237, NA, NA),
  X4 = c(0.7253, 0.2002, 0.0819),
  X5 = c(0.0260, 0.3543, 0.0114)
)

## Coerce to a compositional matrix
Y <- as_composition(X)

## Replace zeros
Z <- replace_zero(Y, value = 0.02, delta = 2/3)
Z
#> <CompositionMatrix: 3 x 5>
#>            X1        X2        X3        X4         X5
#> S1 0.01333333 0.1233333 0.1220507 0.7156293 0.02565333
#> S2 0.13040000 0.3151000        NA 0.2002000 0.35430000
#> S3 0.67783149        NA        NA 0.2828039 0.03936464