Type: | Package |
Title: | Determining Vitamin and Mineral Status of Populations |
Version: | 0.1.1 |
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. |
License: | GPL (≥ 3) |
Depends: | R (≥ 2.10) |
Suggests: | covr, knitr, rmarkdown, spelling, testthat (≥ 3.0.0) |
Encoding: | UTF-8 |
Language: | en-GB |
LazyData: | true |
RoxygenNote: | 7.3.1 |
URL: | https://nutriverse.io/micronutr/, https://github.com/nutriverse/micronutr |
BugReports: | https://github.com/nutriverse/micronutr/issues |
Config/testthat/edition: | 3 |
VignetteBuilder: | knitr |
NeedsCompilation: | no |
Packaged: | 2024-04-08 20:59:55 UTC; ernestguevarra |
Author: | Ernest Guevarra |
Maintainer: | Ernest Guevarra <ernest@guevarra.io> |
Repository: | CRAN |
Date/Publication: | 2024-04-09 09:00:02 UTC |
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.
Author(s)
Maintainer: Ernest Guevarra ernest@guevarra.io (ORCID) [copyright holder]
Authors:
Nicholus Tint Zaw nicholustintzaw@gmail.com [copyright holder]
See Also
Useful links:
Report bugs at https://github.com/nutriverse/micronutr/issues
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