Calculating Apparent Digestibility

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

This short vignette provides coding examples on how to use the functions provided by the aquacultuR package to calculate Apparent Digestibility Coefficients of feeds, feed nutrients, and feed ingredients.

library(aquacultuR)
library(magrittr)
library(dplyr)
oldopts <- options()
options(digits = 3)

Data

Note: We could not find any published dataset on digestibility trials in data journals or Open Access repositories (Zenodo, Mendeley Data). We would thus appreciate data contributions from the aquaculture community!

The digestdm dataset contains two fictious diets that differ in their dry matter content and the mass fraction of marker that was found in the feces of an imaginary fish species.

digestdm

The digestnut dataset contains the same two fictious feeds but the dataset is enriched by fictious total nitrogen contents from which the crude protein content of the samples can be estimated.

digestnut

While the example data for the dry matter and specific nutrient digestibility calculations provided are constructed, the data for the calculation of ingredient digestibility originates from @Bureau1999a and @Bureau2006a. It contains all required data for a blood meal that was tested for apparent digestibility in the scope of the cited studies.

digestingr

Dry matter digestibility

Based on the digestdm dataset, the Apparent Digestibility Coefficient for the dry matter fraction of a feed ($\text{ADC}_{\text{DM}}$) can immediately be calculated using the adc_dm() function.

digestdm %>%
  group_by(diet) %>%
  summarise(`ADC DM` = adc_dm(std_diet = std_feed, std_feces = std_feces))

Note that the function default for the dry matter content of the feed is set to 1. This can be changed with the dm argument of the adc_dm() function. The dry matter content of the feces cannot be adjusted.

digestdm %>%
  group_by(diet) %>%
  summarise(`ADC DM` = adc_dm(
    dm = dm,
    std_diet = std_feed,
    std_feces = std_feces
  ))

Applied on a data frame or tibble, the code outputs the $\text{ADC}_{\text{DM}}$ for each diet.

Nutrient digestibility

The Apparent Digestibility Coefficient for specific nutrients in a feed ($\text{ADC}_{\text{nut}}$) can be calculated analogously with the adc_nut() function. Here, additional function arguments are the mass fractions of the nutrient of interest in the feed and the feces in gram per gram.

digestnut %>%
  group_by(diet) %>%
  summarise(
    `ADC CP` = adc_nut(
      std_diet = std_feed,
      std_feces = std_feces,
      nut_diet = N_feed,
      nut_feces = N_feces
    )
  )

Ingredient digestibility

Lastly, the Apparent Digestibility Coefficient can also be calculated for the dry matter fraction of a specific ingredient in a feed ($\text{ADC}_{\text{ingr}}$). This is possible with the adc_ingr() function that

digestingr %>%
  summarise(
    `ADC Ingredient` = adc_ingr(
      adc_test = adc_test,
      adc_ref = adc_reference,
      nut_ref = CP_reference,
      nut_ingr = CP_ingr
    )
  )

Same as adc_dm(), the function assumes that the dry matter of the reference feed and the feed ingredient is 1 gram per gram by default. To change this, the function arguments dm_ref and dm_ingr can be used. In addition, the mass fraction of the feed ingredient into the test diet can be set by using the function argument incl_ingr. The default is 0.3 gram per gram.

digestingr %>%
  summarise(
    `ADC Ingredient` = adc_ingr(
      adc_test = adc_test,
      adc_ref = adc_reference,
      nut_ref = CP_reference,
      nut_ingr = CP_ingr,
      dm_ref = dm_reference,
      dm_ingr = dm_ingr
    )
  )

The difference from the result stated in @Bureau2006a ($\text{ADC} = 87.5\%$) originates from rounding of the result.

Session info

sessionInfo()
options(oldopts)

References



Try the aquacultuR package in your browser

Any scripts or data that you put into this service are public.

aquacultuR documentation built on Jan. 26, 2026, 5:07 p.m.