Package 'micronutr'

Title: Determining Vitamin and Mineral Status of Populations
Description: Vitamin and mineral deficiencies continue to be a significant public health problem. This is particularly critical in developing countries where deficiencies to vitamin A, iron, iodine, and other micronutrients lead to adverse health consequences. Cross-sectional surveys are helpful in answering questions related to the magnitude and distribution of deficiencies of selected vitamins and minerals. This package provides tools for calculating and determining select vitamin and mineral deficiencies based on World Health Organization (WHO) guidelines found at <https://www.who.int/teams/nutrition-and-food-safety/databases/vitamin-and-mineral-nutrition-information-system>.
Authors: Ernest Guevarra [aut, cre, cph] , Nicholus Tint Zaw [aut, cph]
Maintainer: Ernest Guevarra <[email protected]>
License: GPL (>= 3)
Version: 0.1.1.9000
Built: 2025-02-15 05:55:48 UTC
Source: https://github.com/nutriverse/micronutr

Help Index


Correct serum ferritin values

Description

Based on inflammation status, correct serum ferritin values as described in Namaste, S. M., Rohner, F., Huang, J., Bhushan, N. L., Flores-Ayala, R., Kupka, R., Mei, Z., Rawat, R., Williams, A. M., Raiten, D. J., Northrop-Clewes, C. A., & Suchdev, P. S. (2017). Adjusting ferritin concentrations for inflammation: Biomarkers Reflecting Inflammation and Nutritional Determinants of Anemia (BRINDA) project. The American journal of clinical nutrition, 106(Suppl 1), 359S–371S. https://doi.org/10.3945/ajcn.116.141762

Usage

correct_ferritin(crp = NULL, agp = NULL, ferritin = NULL)

Arguments

crp

A numeric value or numeric vector for serum c-reactive protein in micrograms per litre (microgram/l).

agp

A numeric value or numeric vector for serum alpha(1)-acid-glycoprotein in micrograms per litre (microgram/l).

ferritin

A numeric value or numeric vector for serum ferritin in micrograms per litre (microgram/l).

Value

A numeric value or numeric vector for corrected serum ferritin in micrograms per litre (microgram/l).

Author(s)

Nicholus Tint Zaw and Ernest Guevarra

Examples

correct_ferritin(
  crp = mnData$crp, ferritin = mnData$ferritin
)

Correct haemoglobin based on altitude and/or smoking status

Description

Correct haemoglobin based on altitude and/or smoking status

Usage

correct_hb(hb = NULL, alt = NULL, smoke = NULL)

Arguments

hb

A numeric value or numeric vector of serum haemoglobin concentration/s in grams per litre (g/l)

alt

Altitude, in metres, above sea level

smoke

Simple integer code for smoking status classification: 0 = non-smoker; 1 = any smoker or half packet up to less than 1 packet a day; 2 = 1 up to less than 2 packets a day; 3 = 2 or more packets a day.

Value

A numeric value or numeric vector of corrected serum haemoglobin concentration/s in grams per litre (g/l)

Author(s)

Ernest Guevarra

Examples

correct_hb(hb = mnData$hb[1], alt = mnData$altitude[1], smoke = 1)

Determine haemoglobinaemia status for various population groups

Description

This set of functions identifies haemoglobinaemia in specific target groups such as children under 5 years (u5), children 5-11 years of age (5to11), children 12-14 years of age (12to14), non-pregnant women 15 years and above (np_women), pregnant women (pregnant), and men (men).

Usage

detect_anaemia_u5(hb = NULL, label = TRUE)

detect_anaemia_5to11(hb = NULL, label = TRUE)

detect_anaemia_12to14(hb = NULL, label = TRUE)

detect_anaemia_np_women(hb = NULL, label = TRUE)

detect_anaemia_pregnant(hb = NULL, label = TRUE)

detect_anaemia_men(hb = NULL, label = TRUE)

detect_anaemia(
  hb = NULL,
  group = c("u5", "5to11", "12to14", "np_women", "pregnant", "men"),
  label = TRUE
)

Arguments

hb

A numeric value or numeric vector containing haemoglobin values in grams per litre (g/L).

label

Logical. Should labels be used to classify haemoglobinaemia? If TRUE (default), status is classified as "no anaemia", "mild anaemia", "moderate anaemia", or "severe anaemia". If FALSE, simple integer codes are returned: 0 for no anaemia; 1 for mild anaemia; 2 for moderate anaemia; 3 for severe anaemia.

group

A character value specifying the population target group to identify haemoglobinaemia from. Can be either one of u5, 5to11, 11to14, np_women, pregnant, or men. Default is u5.

Value

If label is TRUE, a character value or character vector of haemoglobinaemia status classification (can be either "severe anaemia" or "moderate anaemia", "mild anaemia", or "no anaemia"). If label is FALSE, an integer value or integer vector of haemoglobinaemia status classification (0 = no anaemia; 1 = mild anaemia; 2 = moderate anaemia; 3 = severe anaemia)

Author(s)

Nicholus Tint Zaw and Ernest Guevarra

Examples

x <- subset(mnData, age < 5)
detect_anaemia_u5(hb = x$hb * 10)
detect_anaemia_u5(hb = x$hb * 10, label = FALSE)
detect_anaemia(hb = x$hb * 10)
detect_anaemia(hb = x$hb * 10, label = FALSE)

Determine inflammation status

Description

Given laboratory values for serum c-reactive protein (CRP) and/or serum alpha(1)-acid-glycoprotein (AGP), the inflammation status of a subject can be determined based on cut-off values described in Namaste, S. M., Rohner, F., Huang, J., Bhushan, N. L., Flores-Ayala, R., Kupka, R., Mei, Z., Rawat, R., Williams, A. M., Raiten, D. J., Northrop-Clewes, C. A., & Suchdev, P. S. (2017). Adjusting ferritin concentrations for inflammation: Biomarkers Reflecting Inflammation and Nutritional Determinants of Anemia (BRINDA) project. The American journal of clinical nutrition, 106(Suppl 1), 359S–371S. https://doi.org/10.3945/ajcn.116.141762

Usage

detect_inflammation(crp = NULL, agp = NULL, label = TRUE)

detect_inflammation_crp(crp = NULL, label = TRUE)

detect_inflammation_agp(agp = NULL, label = TRUE)

Arguments

crp

A numeric value or numeric vector of c-reactive protein (crp) values in micrograms per litre (microgram/l).

agp

A numeric value or numeric vector of alpha(1)-acid-glycoprotein (agp) values in micrograms per litre (microgram/l).

label

Logical. Should labels be used to classify inflammation status? If TRUE (default), status is classified as "no inflammation" or "inflammation" based on either CRP or AGP or status is classified as "no inflammation", "incubation", "early convalescence", or "late convalescence" based on both CRP and AGP. If FALSE, simple integer codes are returned: 0 for no inflammation and 1 for inflammation based on either CRP or AGP; 0 for no inflammation, 1 for incubation, 2 for early convalescence, or 3 for late convalescence.

Value

If label is TRUE, a character value or character vector of inflammation classification based on c-reactive protein (CRP) and/or alpha(1)-acid-glycoprotein (AGP) values. If label is FALSE, an integer value or vector of inflammation classification.

Author(s)

Nicholus Tint Zaw and Ernest Guevarra

Examples

## Detect inflammation by AGP
detect_inflammation_agp(2)
detect_inflammation_agp(2, label = FALSE)

## Detect inflammation by CRP
detect_inflammation_crp(2)
detect_inflammation(crp = mnData$crp)
detect_inflammation(crp = mnData$crp, label = FALSE)

## Detect inflammation by AGP and CRP
detect_inflammation(crp = 2, agp = 2)
detect_inflammation(crp = 2, agp = 2, label = FALSE)

Determine population level iodine intake status

Description

Determining population level iodine intake status using mean urinary iodine concentration for school age children (general), pregnant women (pregnant), or lactating women with children under 2 years old (lactating).

Usage

detect_iodine(
  iodine = NULL,
  group = c("general", "pregnant", "lactating"),
  label = TRUE
)

detect_iodine_general(iodine = NULL, label = TRUE)

detect_iodine_pregnant(iodine = NULL, label = TRUE)

detect_iodine_lactating(iodine = NULL, label = TRUE)

Arguments

iodine

A numeric value or numeric vector of median urinary iodine concentration (microgram/L) of the population or populations of interest.

group

The population group of interest. Either school age children (general), pregnant women (pregnant), or lactating women with children under 2 years old (lactating)

label

Logical. Should labels be used to classify iodine intake status? If TRUE (default), status is classified descriptively as insufficient, adequate, excessive, or the like. If FALSE, simple integer codes are returned.

Value

If label is TRUE, a character value or character vector of iodine intake status. If label is FALSE, an integer value or integer vector of iodine intake status.

Author(s)

Nicholus Tint Zaw and Ernest Guevarra

Examples

detect_iodine(iodine = 10)

Determine iron storage status

Description

Given serum ferritin values, determine iron storage status.

Usage

detect_iron_deficiency_u5(ferritin = NULL, label = TRUE)

detect_iron_deficiency_5over(ferritin = NULL, label = TRUE)

detect_iron_deficiency(ferritin = NULL, group = c("u5", "5over"), label = TRUE)

detect_iron_deficiency_qualitative(
  ferritin = NULL,
  inflammation = NULL,
  group = c("u5", "5over"),
  label = TRUE
)

Arguments

ferritin

A numeric value or numeric vector of serum ferritin level in micrograms per litre (microgram/L).

label

Logical. Should labels be used to classify iron storage status? If TRUE (default), status is classified as "no iron deficiency" or "iron deficiency". If FALSE, simple integer codes are returned: 0 for no iron deficiency and 1 for iron deficiency.

group

A character value specifying the population target group to determine iron status from. Can be either for under 5 year old ("u5") or 5 years and over ("5over"). Default to "u5".

inflammation

Logical value or vector. Is subject in inflammation or not?

Value

If label is TRUE, a character value or character vector of iron status classification (can be either "iron deficiency" or "no iron deficiency"). If label is FALSE, an integer value or integer vector of iron status classification (0 = no iron deficiency; 1 = iron deficiency)

Author(s)

Nicholus Tint Zaw and Ernest Guevarra

Examples

# Iron storage status based on CRP only
 ferritin_corrected <- correct_ferritin(
   crp = mnData$crp, ferritin = mnData$ferritin
 )
 detect_iron_deficiency(ferritin_corrected)

 # Iron storage status based on AGP only
 ferritin_corrected <- correct_ferritin(
   agp = 2, ferritin = mnData$ferritin[1]
 )
 detect_iron_deficiency(ferritin_corrected)

 # Iron storage status based on CRP and AGP
 ferritin_corrected <- correct_ferritin(
   crp = mnData$crp[1], agp = 2, ferritin = mnData$ferritin[1]
 )
 detect_iron_deficiency(ferritin_corrected)

 # Iron storage status - qualitative
 detect_iron_deficiency_qualitative(
   ferritin = 3, inflammation = TRUE
 )
 detect_iron_deficiency_qualitative(
   ferritin = c(2, 3, 5), inflammation = c(TRUE, FALSE, TRUE)
 )

Determine altitude correction factor for haemoglobin

Description

Determine altitude correction factor for haemoglobin

Usage

get_altitude_correction(alt = NULL)

Arguments

alt

Altitude, in metres, above sea level

Value

A numeric value or numeric vector of correction factor/s for haemoglobin based on altitude

Author(s)

Ernest Guevarra

Examples

get_altitude_correction(mnData$altitude)

Determine smoking status correction factor for haemoglobin

Description

Determine smoking status correction factor for haemoglobin

Usage

get_smoking_correction(smoke = NULL)

Arguments

smoke

Simple integer code for smoking status classification: 0 = non-smoker; 1 = any smoking or half packet up to less than 1 packet a day; 2 = 1 up to less than 2 packets a day; 3 = 2 or more packets a day.

Value

A numeric value or numeric vector of correction factor/s for haemoglobin based on smoking status

Author(s)

Ernest Guevarra

Examples

get_smoking_correction(smoke = 1)

Micronutrient survey data

Description

This sample dataset is from a micronutrient survey in a country in East Africa with 19449 observations and 9 variables described below.

Usage

mnData

Format

A tibble with 9 columns and 19449 rows.

Variables Description
psu Primary sampling unit identifier
sex Sex (1 = Male; 2 = Female)
age Age (in years)
group Group classification
hb Haemoglobin values (g/L)
calcium Serum calcium values ()
crp Serum c-reactive protein (microgram/l)
ferritin Serum ferritin ()
iodine Urine iodine ()
altitude Altitude of sampling location above sea level (metres)

Source

From a micronutrient survey in a country in East Africa

Examples

mnData