If d is given, zeroes from each column of x are replaced by the 
  corresponding detection limit contained there, scaled
  down by the value of a (usually a scalar, although if 
  it is a vector it will be recycled with a warning). The variable d should
  be a vector of length equal to ncol(x) 
  or a matrix of the same shape as x.
If d=NULL, then the detection limit is extracted from the data set,
  if it is available there (i.e., if there are negative numbers). If no negative
  number is present in the data set, and no value is given for d, the
  result will be equal to x. See compositions.missings for more 
  details on the missing policy.