Package 'MedDietCalc'

Title: Multi Calculator to Compute Scores of Adherence to Mediterranean Diet
Description: Multi Calculator of different scores to measure adherence to Mediterranean Diet, to compute them in nutriepidemiological data. Additionally, a sample dataset of this kind of data is provided, and some other minor tools useful in epidemiological studies.
Authors: Miguel Menendez [aut, cre], David Lora [ctb], Agustin Gomez-Camara [dtc]
Maintainer: Miguel Menendez <miguelmo@gmail.com>
License: GPL-3
Version: 0.1.1
Built: 2024-02-06 07:58:22 UTC
Source: CRAN

Help Index


computeCardio

Description

Computes Cardioprotective Mediterranean Diet Index

Usage

computeCardio(data = NULL, Vegetables, Fruit, OliveOil, OOmeasure = "gr",
              Legumes, Fish, Meat, RefinedRice, RefinedBread, WholeBread, Wine,
              frequency = "percent", output = "percent", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns.

Vegetables

Numeric variable with vegetables consumption as servings.

Fruit

Numeric variable with fruit consumption as servings.

OliveOil

Numeric variable with olive oil consumption, measure is set with the 'OOmeasure' argument.

OOmeasure

Character string which informs about the unit of the argument 'OliveOil'. Allowed values are 'gr', 'ml' and 'serving', which means respectively grams, mililiters and servings of 1 table spoon (15 ml).

Legumes

Numeric variable with legumes consumption as servings.

Fish

Numeric variable with fish consumption as servings.

Meat

Numeric variable with meat and meat products consumption as servings.

RefinedRice

Numeric variable with consumption of refined rice as servings.

RefinedBread

Numeric variable with consumption of refined bread as servings.

WholeBread

Numeric variable with consumption of whole bread as servings.

Wine

Numeric variable with wine consumption as glasses.

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

In the score, the item about refined and whole cereals is scored positively if consumption of both white bread and rice is low or when consumption of whole-grain bread is high. Rice and whole-grain bread are considered weekly, and white bread daily: [White bread (< 1 serving/day) AND rice (< 1 serving/week)] OR whole-grain bread (> 5 servings/week). The function takes as arguments the three foods, with whatever periodicity they have been recorded in the data, as long as it is provided with the 'frequency' argument. Internally function sets them in the suitable fashion to test this score item.

There is an aditional item in the score, computed internally, that provides one point if both vegetables and fruit consumption have received 1 point each one.

Value

Computed Cardio score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 9 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

Martinez-Gonzalez, M. A., E. Fernandez-Jarne, M. Serrano-Martinez, M. Wright, and E. Gomez-Gracia. 2004. 'Development of a Short Dietary Intake Questionnaire for the Quantitative Estimation of Adherence to a Cardioprotective Mediterranean Diet'. European Journal of Clinical Nutrition 58 (11): 1550-52. doi:10.1038/sj.ejcn.1602004.

Examples

data(nutriSample)

MedDiet <- computeCardio(data = nutriSample,
                          OliveOil = Aceitegr,
                          OOmeasure = "gr",
                          Fruit = P50rac + P52rac,
                          Vegetables = P41rac + P42rac,
                          Legumes = P46rac,
                          Fish = P35rac + P36rac + P37rac + P38rac,
                          Wine = P96rac,
                          Meat = P29rac + P30rac + P31rac + P32rac,
                          RefinedBread = P55rac,
                          RefinedRice = P61rac,
                          WholeBread = P56rac,
                          frequency = "daily", output = "percent", rm.na = FALSE)
hist(MedDiet)

computeFRESCO

Description

Computes 10-year risk of fatal or non-fatal stroke and Coronary Heart Disease according to FRESCO score ('Función de Riesgo ESpañola de acontecimientos Coronarios y Otros', 'Spanish risk function of coronary and other cardiovascular events').

Usage

computeFRESCO(data, outcome = c("Coronary", "Stroke", "All"), simplified = FALSE,
              Sex, Age, Smoker, BMI,
              Diabetes, SBP, TotChol, HDL, HBPpill,
              men = "male", women = "female")

Arguments

data

list or data.frame which contains the variables

outcome

character string indicating for which outcome risk is to be computed. Allowed values are "Coronary", "Stroke" or "All", which means the output is the risk of a coronary event, stroke, or both

simplified

logical. Original FRESCO score was derived in two versions: the full one, which includes all the following variables; and the other is de simplified one, which uses just sex, age, smoking status and body mass index. If TRUE, the simplified version will be computed.

Sex

variable containing gender of the people. It can be character, factor or numeric, as far as the 'men' and 'women' arguments specify how the formula should handle this variable (See below)

Age

numeric with people age in years

Smoker

numeric variable containg smoking status. 0 = non smoker, 1 = currently smoker

BMI

numeric variable with Body Mass Index (weight[kilograms] / height²[meters])

Diabetes

numeric which informs wether the person is diabetic. 0 = no, 1 = yes.

SBP

numeric variable with Systolic Blood Pressure in mmHg

TotChol

numeric with total serum cholesterol in mg/dl

HDL

numeric with serum High Density Lipoprotein cholesterol in mg/dl

HBPpill

numeric which means if the person is currently under treatment because of High Blood Pressure. 0 = no, 1 = yes.

men

character with informs of how males have been recorded in the 'Sex' argument, default is 'male'. If 'Sex' is numeric, a quoted number should be provided (for instance, men = '1'

women

character. Same meaning as 'men' argument, but for females.

Details

In Spanish population, Framingham-REGICOR function tends to overestimate cardio and cerebrovascular risk. So, FRESCO score was developed among people from 35 to 79 years, which includes a simplified version with no laboratory results, and another one a bit harder to compute with slightly improved prediction ability.

Value

Numeric vector of same length as rows in 'data' with estimated percentage of 10-year risk of fatal or non-fatal event (Coronary Heart Diesease, or stroke or both depending on 'outcome' argument).

Author(s)

Miguel Menendez

References

Marrugat, Jaume, Isaac Subierana, Rafael Ramos, Joan Vila, Alejandro Marin-Ibanez, Maria Jesus Guembe, Fernando Rigo, et al. 2014. "Derivation and Validation of a Set of 10-Year Cardiovascular Risk Predictive Functions in Spain: The FRESCO Study." Preventive Medicine 61 (April): 66-74. doi:10.1016/j.ypmed.2013.12.031.

Examples

myself <- list(sex = "male", age = 32, tobacco = 0, bmi = 21.5)
computeFRESCO(data = myself, outcome = "All", simplified = TRUE,
              Sex = sex, Age = age, Smoker = tobacco, BMI = bmi)

computeGoulet

Description

Computes Mediterranean Diet adherence score according to Goulet et al. in 2003.

Usage

computeGoulet(data, WholeCereals, Vegetables, Fruit, LegumesAndNuts, OliveOil,
              OOmeasure = "gr", Olives, Dairy, Fish, Poultry, Eggs, Sweets, Meat,
              output = "percent", frequency = "daily", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns.

WholeCereals

Numeric variable with consumption of whole grain products as servings.

Vegetables

Numeric variable with vegetables consumption as servings.

Fruit

Numeric variable with fruit consumption as servings.

LegumesAndNuts

Numeric variable with legumes, nuts and seed consumption as servings.

OliveOil

Numeric variable with olive oil consumption, measure is set with the 'OOmeasure' argument.

OOmeasure

Character string which informs about the unit of the argument 'OliveOil'. Allowed values are 'gr', 'ml' and 'serving', which means respectively grams, mililiters and servings of 1 table spoon (15 ml).

Olives

Numeric variable with olives consumption as servings.

Dairy

Numeric variable with dairy consumption as servings.

Fish

Numeric variable with fish consumption as servings.

Poultry

Numeric variable with poultry (other than breaded) consumption as servings.

Eggs

Numeric variable with eggs consumption as servings.

Sweets

Numeric variable with sweets consumption as servings.

Meat

Numeric variable with red meat and meat products consumption as servings.

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

Computes Mediterranean Diet adherence score according to Goulet et al. in 2003. It can be found as Mediterranean Score (MS) [Mila-Villarroel et al., 2011].

Value

Computed Mediterranean Diet Adherence score according to Goulet et al. 2003. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 44 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

Goulet, Julie, Benoıt Lamarche, Genevieve Nadeau, and Simone Lemieux. 2003. 'Effect of a Nutritional Intervention Promoting the Mediterranean Food Pattern on Plasma Lipids, Lipoproteins and Body Weight in Healthy French-Canadian Women'. Atherosclerosis 170 (1): 115-24. doi:10.1016/S0021-9150(03)00243-0.

Mila-Villarroel, Raimon, Anna Bach-Faig, Josep Puig, Anna Puchal, Andreu Farran, Lluis Serra-Majem, and Josep Lluis Carrasco. 2011. 'Comparison and Evaluation of the Reliability of Indexes of Adherence to the Mediterranean Diet'. Public Health Nutrition 14 (12A): 2338-45. doi:10.1017/S1368980011002606.

Examples

data(nutriSample)
MedDiet <- computeGoulet(data = nutriSample,
  WholeCereals = P56rac + ifelse(nutriSample$P63_2 == 2, nutriSample$P61rac, 0),
  Vegetables = P41rac + P42rac,
  Fruit = P50rac + P52rac,
  LegumesAndNuts = P46rac + P53rac + P75rac,
  OliveOil = Aceitegr,
  OOmeasure = "gr",
  Olives = P54rac,
  Dairy = P19rac + P20rac + P20rac + P22rac + P23rac + P24rac + P25rac + P26rac + P27rac,
  Fish = P35rac + P36rac + P37rac + P38rac,
  Poultry = P33rac,
  Eggs = P28rac,
  Sweets = P69rac + P70rac + P71rac + P72rac + P73rac,
  Meat = P29rac + P30rac + P31rac + P32rac,
  output = "percent", frequency = "daily", rm.na = FALSE)
hist(MedDiet)

computeMAI99

Description

Computes Mediterranean Adequacy Index according to Alberti-Fidanza et al. 1999.

Usage

computeMAI99(data, Bread, Cereals, Legumes, Potatoes,
           Vegetables, FruitAndNuts, Fish, Wine, Oil,
           Milk, Cheese, Meat, Eggs, AnimalFats, SoftDrinks, Pastries, Sugar,
           Kcal, output = NULL, rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns.

Bread

Numeric with energy (as Kilocalories) attributable to bread. The argument is the energy measured as Kcal, although the function will score it as percentage of energy respect total energy intake (see Details).

Cereals

Numeric with energy (as Kilocalories) attributable to cereals.

Legumes

Numeric with energy (as Kilocalories) attributable to legumes.

Potatoes

Numeric with energy (as Kilocalories) attributable to potatoes.

Vegetables

Numeric with energy (as Kilocalories) attributable to vegetables.

FruitAndNuts

Numeric with energy (as Kilocalories) attributable to FruitAndNuts.

Fish

Numeric with energy (as Kilocalories) attributable to fish.

Wine

Numeric with energy (as Kilocalories) attributable to wine.

Oil

Numeric with energy (as Kilocalories) attributable to vegetal oils.

Milk

Numeric with energy (as Kilocalories) attributable to milk.

Cheese

Numeric with energy (as Kilocalories) attributable to cheese.

Meat

Numeric with energy (as Kilocalories) attributable to meat.

Eggs

Numeric with energy (as Kilocalories) attributable to eggs.

AnimalFats

Numeric with energy (as Kilocalories) attributable to fats of animal origin.

SoftDrinks

Numeric with energy (as Kilocalories) attributable to soft drinks.

Pastries

Numeric with energy (as Kilocalories) attributable to pastries.

Sugar

Numeric with energy (as Kilocalories) attributable to sugar.

Kcal

Numeric with total energy intake measured as Kcal.

output

A character string to set which output should the formula give, allowed values are 'data.frame' and 'index'.

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

The index components are scored as percent of calories. But to make it easier to the user, arguments should provide the energy each food item provides. Also the total energy intake should be provided, so formula can internally relate them.

Mediterranean Adequacy Index is a ratio of Kcal attributable to healthy foods over Kcal attributable to unhealthy foods, so values could range from 0 to more than 100 (Alberti et al. 2009). The reference italian-mediterranean diet is 7.5 (Alberti-Fidanza et al. 1999). So, value is not a percentage, and comparability with other scores is not direct.

Periodicity argument is not provided, as the equation is a ratio and it is not to vary if food is recorded daily, weekly or monthly.

Value

Computed Mediterranean Adequacy Index. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'index'

Instead of the full data.frame, just the numeric vector corresponding to the absolute points of adherence to Mediterranean Diet for each person. Range can vary widely (see Details).

Author(s)

Miguel Menendez

References

Alberti-Fidanza, A., F. Fidanza, M. P. Chiuchiù, G. Verducci, and D. Fruttini. 1999. "Dietary Studies on Two Rural Italian Population Groups of the Seven Countries Study. 3. Trend Of Food and Nutrient Intake from 1960 to 1991." European Journal of Clinical Nutrition 53 (11): 854–60.

Alberti, Adalberta, Daniela Fruttini, and Flaminio Fidanza. 2009. "The Mediterranean Adequacy Index: Further Confirming Results of Validity.” Nutrition, Metabolism and Cardiovascular Diseases 19 (1): 61–66. doi:10.1016/j.numecd.2007.11.008.

Examples

data(nutriSample)

MedDiet <- computeMAI99(data = nutriSample,
  Bread = P55Kcal + P56Kcal + P57Kcal,
  Cereals = P55Kcal + P56Kcal + P57Kcal + P59Kcal + P60Kcal + P61Kcal + P62Kcal,
  Legumes = P46Kcal,
  Potatoes = P43Kcal + P44Kcal + P45Kcal,
  Vegetables = P41Kcal + P42Kcal,
  FruitAndNuts = P50Kcal + P53Kcal,
  Fish = P35Kcal + P36Kcal + P37Kcal + P38Kcal,
  Wine = P96Kcal,
  Oil = AceiteKcal,
  Milk = P19Kcal + P20Kcal + P21Kcal,
  Cheese = P26Kcal + P27Kcal,
  Meat = P29Kcal + P30Kcal + P31Kcal + P32Kcal,
  Eggs = P28Kcal,
  AnimalFats = P29grGrasa + P30grGrasa + P31grGrasa + P32grGrasa + P33grGrasa + P34grGrasa ,
  SoftDrinks = P89Kcal + P90Kcal,
  Pastries = P69Kcal + P70Kcal + P71Kcal + P72Kcal + P73Kcal,
  Sugar = P84Kcal,
  Kcal = totalKcal,
  output = "index", rm.na = FALSE)
hist(MedDiet)

computeMDP02

Description

Computes Mediterranean Diet adherence score known as Mediterranean Dietary Pattern, by Martinez-Gonzalez et al. 2002.

Usage

computeMDP02(data, OliveOil, OOmeasure = "gr", Fiber, Fruit, Vegetables, Fish,
             Alcohol, Meat, RefinedCereals,
             output = "percent", rm.na = FALSE, frequency = "daily")

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns

OliveOil

Numeric variable with olive oil consumption, measure is set with the 'OOmeasure' argument

OOmeasure

Character string which informs about the unit of the argument 'OliveOil'. Allowed values are 'gr', 'ml' and 'serving', which means respectively grams, mililiters and servings of 1 table spoon (15 ml).

Fiber

Numeric variable with consumption of Dietary Fiber as grams.

Fruit

Numeric variable with consumption of Fruits as grams.

Vegetables

Numeric variable with Vegetables consumption as grams

Fish

Numeric variable with Fish consumption as grams

Alcohol

Numeric variable with Alcohol consumption as etanol grams from any beberage origin

Meat

Numeric variable with Meat and Meat Products consumption as grams

RefinedCereals

Numeric variable with Refined Cereals consumption as grams

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

Value

Computed MDP02 score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 5 (min.) to 40 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

Martinez-Gonzalez, Miguel A., Elena Fernandez-Jarne, Manuel Serrano-Martinez, Amelia Marti, J. Alfredo Martinez, and Jose M. Martin-Moreno. 2002. 'Mediterranean Diet and Reduction in the Risk of a First Acute Myocardial Infarction: An Operational Healthy Dietary Score'. European Journal of Nutrition 41 (4): 153-60. doi:10.1007/s00394-002-0370-6.

Examples

data(nutriSample)

MedDiet <- computeMDP02(data = nutriSample,
                        OliveOil = Aceitegr,
                        OOmeasure = "gr",
                        Fiber = totalFibra,
                        Fruit = P50grCom,
                        Vegetables = P41grCom + P42grCom,
                        Fish = P35grCom + P36grCom + P37grCom + P38grCom,
                        Alcohol = 12 * (P94rac + P96rac + P97rac + P98rac + P99rac),
                        Meat = P29grCom + P30grCom + P31grCom + P32grCom,
                        RefinedCereals = P55grCom + P61grCom,
                        output = "percent", rm.na = FALSE, frequency = "daily")
hist(MedDiet)

computeMDQI

Description

Computes Mediterranean Diet Quality Index.

Usage

computeMDQI(data, FruitAndVegetables, OliveOil, OOmeasure = "gr", Fish, Cereals,
            Meat, SatFats, Cholesterol,
            Kcal = NULL, invert = TRUE,
            frequency = NULL, output = "percent", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns

FruitAndVegetables

Numeric variable with consumption of fruit and vegetables as grams

OliveOil

Numeric variable with olive oil consumption, measure is set with the 'OOmeasure' argument

OOmeasure

Character string which informs about the unit of the argument 'OliveOil'. Allowed values are 'gr', 'ml' and 'serving', which means respectively grams, mililiters and servings of 1 table spoon (15 ml).

Fish

Numeric variable with fish consumption as grams

Cereals

Numeric variable with cereals consumption as grams

Meat

Numeric variable with Meat consumption as grams

SatFats

Numeric variable with energy contribution of saturated fats to diet. The formula will score it as percent of total energy intake, but it can be provided in one of two ways (see Details)

Cholesterol

Numeric variable with cholesterol consumption as miligrams

Kcal

Optional numeric variable with total energy intake as kilocalories. If provided, it makes a modification in 'SatFats' argument (see Details)

invert

Logical. If set to TRUE (default), the score is inverted, if set to FALSE, the score is kept as in the original (see Details)

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

This score is a mediterranean adaptation [Scali et al., 2000; Gerber 2006] from a previous Diet Quality Index (DQI) by Patterson et al. [Patterson et al., 1994], thus it was named MDQI (Mediterraean DQI).

In this score, originally, higher puntuations mean LOWER adherence. As this is not the usual in mediterranean diet scores, the argument 'invert' can make it reverse. If invert = TRUE (default), higher puntuations mean higher adherence.

Saturated fats (SFA) are scored as percent of total energy that is provided by SFA. This information can be provided in one of two ways: 1) 'SatFats' argument can be directly the percent of total energy intake provided by SFA, if so, the 'Kcal' argument must be missing or NULL. 2) 'SatFats' argument can be the amount of kilocalories provided by SFA, if so, the 'Kcal' argument must be provided, for formula to know the required percentage.

Cholesterol should be provided as miligrams. If mean consumption of cholesterol is lower than 1, a warning will be produce to ask user to check units.

Value

Computed MDQI score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, ranging from 0 to 14. Depending on 'invert' argument higher puntuations can mean higher or lower adherence (see Details)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person. Depending on 'invert' argument higher puntuations can mean higher or lower adherence (see Details)

Author(s)

Miguel Menendez

References

Patterson, R. E., P. S. Haines, and B. M. Popkin. 1994. 'Diet Quality Index: Capturing a Multidimensional Behavior'. Journal of the American Dietetic Association 94 (1): 57-64.

Scali, Jacqueline, Aurelia Richard, and Mariette Gerber. 2001. 'Diet Profiles in a Population Sample from Mediterranean Southern France'. Public Health Nutrition 4 (02): 173-182. doi:10.1079/PHN200065.

Gerber, Mariette. 2006. 'Qualitative Methods to Evaluate Mediterranean Diet in Adults'. Public Health Nutrition 9 (1A): 147-51.

Examples

data(nutriSample)

# If Saturated Fats are provided as the energy they provide,
# and Kcal arguments informs about total energy intake:
MedDiet <- computeMDQI(data = nutriSample,
                      FruitAndVegetables = P50grCom + P52grCom + P41grCom + P42grCom,
                      OliveOil = Aceitegr,
                      OOmeasure = "gr",
                      Fish = P35grCom + P36grCom + P37grCom + P38grCom,
                      Cereals = P55grCom + P56grCom + P57grCom + P59grCom +
                                P60grCom + P61grCom + P62grCom,
                      Meat = P29grCom + P30grCom + P31grCom + P32grCom,
                      SatFats = totalGrasaSat,
                      Cholesterol = totalCol,
                      Kcal = totalKcal,
                      invert = TRUE,
                      frequency = "daily", output = "percent", rm.na = FALSE)


# If Saturated Fats are provided as the percent of energy they provide, so Kcal is not provided:
nutriSample$MySFApercent <- 100 * nutriSample$totalGrasaSat / nutriSample$totalKcal

MedDiet2 <- computeMDQI(data = nutriSample,
                      FruitAndVegetables = P50grCom + P52grCom + P41grCom + P42grCom,
                      OliveOil = Aceitegr,
                      OOmeasure = "gr",
                      Fish = P35grCom + P36grCom + P37grCom + P38grCom,
                      Cereals = P55grCom + P56grCom + P57grCom + P59grCom +
                                P60grCom + P61grCom + P62grCom,
                      Meat = P29grCom + P30grCom + P31grCom + P32grCom,
                      SatFats = MySFApercent,
                      Cholesterol = totalCol,
                      # don't provide Kcal
                      invert = TRUE,
                      frequency = "daily", output = "percent", rm.na = FALSE)

hist(MedDiet2)

computeMDS03

Description

Mediterranean Adherence score index, as modified in 2003, whith the addition of fish item.

Usage

computeMDS03(data, Vegetables, Legumes, FruitAndNuts, Cereals, Potatoes = NULL, Fish,
            Meat, Dairy, Alcohol, Fats = NULL, MUFA = NULL, SFA = NULL,
            Sex, men = "male", women = "female",
            frequency = "daily", output = "percent", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns

Vegetables

Numeric variable with Vegetables consumption as grams

Legumes

Numeric variable with Legumes consumption as grams

FruitAndNuts

Numeric variable with consumption of Fruits and Nuts as grams

Cereals

Numeric variable with Cereals consumption as grams

Potatoes

Numeric variable with Potatoes consumption as grams

Fish

Numeric variable with Fish consumption as grams

Meat

Numeric variable with Meat consumption as grams

Dairy

Numeric variable with Dairy consumption as grams

Alcohol

Numeric variable with Alcohol consumption as etanol grams from any beberage origin

Fats

Optional. Numeric variable with a ratio of consumption of Mono Unsaturated Fatty Acids (MUFA) over Saturated Fatty Acids (SFA). If it is not provided, then individual MUFA and SFA should be provided

MUFA

Optional if Fats is provided. Numeric variable with consumption of Mono Unsaturated Fatty Acids, units should be the same as used with PUFA and SFA

SFA

Optional if Fats is provided. Numeric variable with consumption of Saturated Fatty Acids

Sex

Vector with gender, it can be numeric, factor or character, as long as its values are provided by 'men' and 'women' arguments. If 'Sex' argument is character or factor, and values for male are either 'man', 'male', 'MAN' or 'MALE', and for females are 'woman', 'female', 'WOMAN' or 'FEMALE', then, the arguments 'men' and 'women' can be missing

men

A character string with the value of male gender, default is "male"

women

A character string with the value of female gender, default is "female"

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

This score is an update of the landmark first Mediterranean Diet Score (MDS), published in 1995, but including fish consumption.

Value

Computed MDS03 score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 9 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

Trichopoulou, A., A. Kouris-Blazos, M. L. Wahlqvist, C. Gnardellis, P. Lagiou, E. Polychronopoulos, T. Vassilakou, L. Lipworth, and D. Trichopoulos. 1995. "Diet and Overall Survival in Elderly People." BMJ (Clinical Research Ed.) 311 (7018): 1457–60.

Trichopoulou, Antonia, Tina Costacou, Christina Bamia, and Dimitrios Trichopoulos. 2003. "Adherence to a Mediterranean Diet and Survival in a Greek Population." New England Journal of Medicine 348 (26): 2599–2608. doi:10.1056/NEJMoa025039.

Examples

MedDiet <- computeMDS03(data = nutriSample,
        Vegetables = P41grCom + P42grCom,
        Legumes =  P46grCom,
        FruitAndNuts =  P50grCom + P52grCom + P53grCom,
        Cereals = P55grCom + P56grCom + P57grCom + P59grCom +
                  P60grCom + P61grCom + P62grCom,
        Fish = P35grCom + P36grCom + P37grCom + P38grCom,
        Meat = P29grCom + P30grCom + P31grCom + P32grCom,
        Dairy = P19grCom + P20grCom + P20grCom + P22grCom +
                P23grCom + P24grCom + P25grCom + P26grCom + P27grCom,
        Alcohol =  12 * (P94rac + P96rac + P97rac + P98rac + P99rac),
        Potatoes =  P43grCom +  P44grCom +  P45grCom,
        MUFA =  totalGrasaMonoins,
        SFA =  totalGrasaSat,
        Sex =  SEXO, men = "Hombre", women = "Mujer", frequency = "daily",
        output = "percent", rm.na = FALSE)
hist(MedDiet)

computeMDS05

Description

Computes the Mediterranean Diet adherence score developed by Trichopoulou et al. in 2005 (MDS05), which is an update of their previously developed version.

Usage

computeMDS05(data, Vegetables, Legumes, FruitAndNuts,
             Cereals, Potatoes = NULL, Fish, Meat, Dairy, Alcohol,
             Fats = NULL, MUFA = NULL, PUFA = NULL, SFA = NULL,
             Sex, men = "male", women= "female",
             frequency = NULL, output = "percent", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns

Vegetables

Numeric variable with Vegetables consumption as grams

Legumes

Numeric variable with Legumes consumption as grams

FruitAndNuts

Numeric variable with consumption of Fruits and Nuts as grams

Cereals

Numeric variable with Cereals consumption as grams

Potatoes

Numeric variable with Potatoes consumption as grams

Fish

Numeric variable with Fish consumption as grams

Meat

Numeric variable with Meat consumption as grams

Dairy

Numeric variable with Dairy consumption as grams

Alcohol

Numeric variable with Alcohol consumption as etanol grams from any beberage origin

Fats

Optional. Numeric variable with a ratio of consumption of Mono and Poli Unsaturated Fatty Acids (MUFA + PUFA) over Saturated Fatty Acids (SFA). If it is not provided, then individual MUFA, PUFA and SFA should be provided

MUFA

Optional if Fats is provided. Numeric variable with consumption of Mono Unsaturated Fatty Acids, units should be the same as used with PUFA and SFA

PUFA

Optional if Fats is provided. Numeric variable with consumption of Poli Unsaturated Fatty Acids

SFA

Optional if Fats is provided. Numeric variable with consumption of Saturated Fatty Acids

Sex

Vector with gender, it can be numeric, factor or character, as long as its values are provided by 'men' and 'women' arguments.

men

A character string with the value of male gender, default is "male"

women

A character string with the value of female gender, default is "female"

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

This score is an update of the landmark first Mediterranean Diet Score (MDS), published in 1995, which includes fish consumption (previously introduced) and which sums MUFA + PUFA.

Original 1995 paper of Trichopoulou et al. included potatoes with cereals, but later research has challenged this view. If you want to compute the score as originally developed, provide potato consumption as 'Potatoes' argument, and you will get a NOTE informing you that both have been used together in the score. If you don't want to compute potatoes consumption, don't provide 'Potatoes' argument, and you will receive a NOTE informing you that you are diverting from the very original score.

Some score components are a combination of foods you may have as separated variables, if so, you can just add them toghether (v.gr. miFruitVariable + miNutsVariable).

Score values (MUFA + PUFA) / SFA. Depending in how your data has been developed, you can provide the ratio as 'Fats' argument or the triada 'MUFA', 'PUFA' and 'SFA', but if you provide this information by both of the ways, just 'Fats' argument will be computed, and you will receive a warning asking you to check the arguments.

Value

Computed MDS05 score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the fullchecking package dependencies ... NOTE No repository set, so cyclic dependency check skipped data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 9 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

References

Trichopoulou, A., A. Kouris-Blazos, M. L. Wahlqvist, C. Gnardellis, P. Lagiou, E. Polychronopoulos, T. Vassilakou, L. Lipworth, and D. Trichopoulos. 1995. "Diet and Overall Survival in Elderly People." BMJ (Clinical Research Ed.) 311 (7018): 1457–60.

Trichopoulou, Antonia, Tina Costacou, Christina Bamia, and Dimitrios Trichopoulos. 2003. "Adherence to a Mediterranean Diet and Survival in a Greek Population." New England Journal of Medicine 348 (26): 2599–2608. doi:10.1056/NEJMoa025039.

Trichopoulou, Antonia, Philippos Orfanos, Teresa Norat, Bas Bueno-de-Mesquita, Marga C. Ocke, Petra HM Peeters, Yvonne T. van der Schouw, et al. 2005. "Modified Mediterranean Diet and Survival: EPIC-Elderly Prospective Cohort Study." BMJ 330 (7498): 991. doi:10.1136/bmj.38415.644155.8F.

Examples

data(nutriSample)
MedDiet <- computeMDS05(data = nutriSample,
        Vegetables = P41grCom + P42grCom,
        Legumes =  P46grCom,
        FruitAndNuts =  P50grCom + P52grCom + P53grCom,
        Cereals = P55grCom + P56grCom + P57grCom + P59grCom +
                  P60grCom + P61grCom + P62grCom,
        Fish = P35grCom + P36grCom + P37grCom + P38grCom,
        Meat = P29grCom + P30grCom + P31grCom + P32grCom,
        Dairy = P19grCom + P20grCom + P22grCom + P23grCom +
                P24grCom + P25grCom + P26grCom + P27grCom,
        Alcohol =  12 * (P94rac + P96rac + P97rac + P98rac + P99rac),
        Potatoes =  P43grCom +  P44grCom +  P45grCom,
        MUFA =  totalGrasaMonoins,
        PUFA =  totalGrasaPoliins,
        SFA =  totalGrasaSat,
        Sex =  SEXO, men = "Hombre", women = "Mujer", frequency = "daily",
        output = "percent", rm.na = FALSE)
hist(MedDiet)

computeMDS12

Description

Computes a 2012 update of the widely used Mediterranean Diet Score.

Usage

computeMDS12(data, Vegetables, Legumes, FruitAndNuts, Cereals, Potatoes = NULL,
             Fish, Dairy, Meat, Alcohol,
             OOprincipal, Sex, men = "male", women = "female",
             frequency = NULL, output = "percent", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns

Vegetables

Numeric variable with Vegetables consumption as grams

Legumes

Numeric variable with Legumes consumption as grams

FruitAndNuts

Numeric variable with consumption of Fruits and Nuts as grams

Cereals

Numeric variable with Cereals consumption as grams

Potatoes

Numeric variable with Potatoes consumption as grams

Fish

Numeric variable with Fish consumption as grams

Dairy

Numeric variable with Dairy consumption as grams

Meat

Numeric variable with Meat consumption as grams

Alcohol

Numeric variable with Alcohol consumption as etanol grams from any beberage origin

OOprincipal

Integer. This item scores wether olive oil is the main dietary fat as a dichotomous variable (1-yes, 0-no).

Sex

Vector with gender, it can be numeric, factor or character, as long as its values are provided by 'men' and 'women' arguments.

men

A character string with the value of male gender, default is "male"

women

A character string with the value of female gender, default is "female"

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

This score is an update of the widely used MDS (Mediterranean Diet Score), with some modifications, the most relevant are the following: First, it uses fixed ('a priori') cut-offs, instead of using sample derived medians. Second, instead of scoring all variables dichotomously (0-1), it scores from 0 (minimum) to 2 (maximum), with items which can receive 1 point. As another difference, it stops evaluating Mono and Poli Unsaturated fats, but instead scores Olive Oil consumption. Olive Oil is considered dichotomously.

Value

Computed MDS score according to 2012 version. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 18 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

Sofi, Francesco, Rosanna Abbate, Gian Franco Gensini, Alessandro Casini, Antonia Trichopoulou, and Christina Bamia. 2012. ‘Identification of Change-Points in the Relationship between Food Groups in the Mediterranean Diet and Overall Mortality: An “a Posteriori” Approach’. European Journal of Nutrition 51 (2): 167–72. doi:10.1007/s00394-011-0202-7.

See Also

computeMDS95 computeMDS03 computeMDS05

Examples

data(nutriSample)
MedDiet <- computeMDS12(data = nutriSample,
        Vegetables = P41grCom + P42grCom,
        Legumes =  P46grCom,
        FruitAndNuts =  P50grCom + P52grCom + P53grCom,
        Cereals = P55grCom + P56grCom + P57grCom + P59grCom +
                  P60grCom + P61grCom + P62grCom,
        Fish = P35grCom + P36grCom + P37grCom + P38grCom,
        Meat = P29grCom + P30grCom + P31grCom + P32grCom,
        Dairy = P19grCom + P20grCom + P22grCom + P23grCom +
                P24grCom + P25grCom + P26grCom + P27grCom,
        Alcohol =  12 * (P94rac + P96rac + P97rac + P98rac + P99rac),
        Potatoes =  NULL,
        OOprincipal = ifelse(nutriSample$AceiteTipo == 1, 1, 0),
        Sex =  SEXO, men = "Hombre", women = "Mujer", frequency = "daily",
        output = "percent", rm.na = FALSE)
hist(MedDiet)

computeMDS95

Description

Fist Mediterranean Adherence score index, developed by Trichopoulou et al. which has been extensively used and modified.

Usage

computeMDS95(data, Vegetables, Legumes, FruitAndNuts,
             Cereals, Potatoes = NULL, Meat, Dairy, Alcohol,
             Fats = NULL, MUFA = NULL, SFA = NULL,
             Sex, men = "male", women= "female",
             frequency = NULL, output = "percent", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns

Vegetables

Numeric variable with Vegetables consumption as grams

Legumes

Numeric variable with Legumes consumption as grams

FruitAndNuts

Numeric variable with consumption of Fruits and Nuts as grams

Cereals

Numeric variable with Cereals consumption as grams

Potatoes

Numeric variable with Potatoes consumption as grams

Meat

Numeric variable with Meat consumption as grams

Dairy

Numeric variable with Dairy consumption as grams

Alcohol

Numeric variable with Alcohol consumption as etanol grams from any beberage origin

Fats

Optional. Numeric variable with a ratio of consumption of Mono Unsaturated Fatty Acids (MUFA) over Saturated Fatty Acids (SFA). If it is not provided, then individual MUFA and SFA should be provided

MUFA

Optional if Fats is provided. Numeric variable with consumption of Mono Unsaturated Fatty Acids, units should be the same as used with PUFA and SFA

SFA

Optional if Fats is provided. Numeric variable with consumption of Saturated Fatty Acids

Sex

Vector with gender, it can be numeric, factor or character, as long as its values are provided by 'men' and 'women' arguments. If 'Sex' argument is character or factor, and values for male are either 'man', 'male', 'MAN' or 'MALE', and for females are 'woman', 'female', 'WOMAN' or 'FEMALE', then, the arguments 'men' and 'women' can be missing

men

A character string with the value of male gender, default is "male"

women

A character string with the value of female gender, default is "female"

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

This is the fist Mediterranean Diet Score, which was developed by Antonia Trichopoulou and coleagues. At present, this score is not widely used, since it was later updated by its authors. Nevertheless, as it is the first Mediterranean Diet Score developed, and is the basis of most of them, we think it deserves a places here.

Original 1995 paper of Trichopoulou et al. included potatoes with cereals, but later research has challenged this view. If you want to compute the score as originally developed, provide potato consumption as 'Potatoes' argument, and you will get a warning informing you that both have been used together in the score. If you don't want to compute potatoes consumption, don't provide 'Potatoes' argument, and you will receive a warning informing you that you are diverting from the very original score.

Value

Computed MDS95 score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 9 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

Trichopoulou, A., A. Kouris-Blazos, M. L. Wahlqvist, C. Gnardellis, P. Lagiou, E. Polychronopoulos, T. Vassilakou, L. Lipworth, and D. Trichopoulos. 1995. “Diet and Overall Survival in Elderly People.” BMJ (Clinical Research Ed.) 311 (7018): 1457–60.

Examples

data(nutriSample)
MedDiet <- computeMDS95(data = nutriSample,
        Vegetables = P41grCom + P42grCom,
        Legumes =  P46grCom,
        FruitAndNuts =  P50grCom + P52grCom + P53grCom,
        Cereals = P55grCom + P56grCom + P57grCom + P59grCom +
                  P60grCom + P61grCom + P62grCom,
        Meat = P29grCom + P30grCom + P31grCom + P32grCom,
        Dairy = P19grCom + P20grCom + P20grCom + P22grCom + P23grCom +
                P24grCom + P25grCom + P26grCom + P27grCom,
        Alcohol =  12 * (P94rac + P96rac + P97rac + P98rac + P99rac),
        Potatoes =  P43grCom +  P44grCom +  P45grCom,
        MUFA =  totalGrasaMonoins,
        SFA =  totalGrasaSat,
        Sex =  SEXO, men = "Hombre", women = "Mujer", frequency = "daily",
        output = "percent", rm.na = FALSE)
hist(MedDiet)

computeMSDPS

Description

Computes Mediterranean-Style Dietary Pattern Score (MSDPS).

Usage

computeMSDPS(data, WholeCereals, Fruit, Vegetables, Dairy, Wine,
             Fish, Poultry, LegumesAndMore, Potatoes, Eggs, Sweets,
             Meat, OOprincipal,
             WholeCerealsK, FruitK, VegetablesK, DairyK, WineK,
             FishK, PoultryK, LegumesAndMoreK, PotatoesK, EggsK, SweetsK,
             MeatK, OliveOilK, Kcal,
             Sex, men = "male", women = "female",
             output = "percent", frequency = "daily", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns.

WholeCereals

Numeric variable with consumption of whole grain products as servings.

Fruit

Numeric variable with fruit consumption as servings.

Vegetables

Numeric variable with vegetables consumption as servings.

Dairy

Numeric variable with dairy consumption as servings.

Wine

Numeric variable with wine consumption as glasses.

Fish

Numeric variable with fish consumption as servings.

Poultry

Numeric variable with poultry consumption as servings.

LegumesAndMore

Numeric variable with legumes, nuts and olives consumption as servings.

Potatoes

Numeric variable with potatoes consumption as servings.

Eggs

Numeric variable with eggs consumption as servings.

Sweets

Numeric variable with sweets consumption as servings.

Meat

Numeric variable with red meat and meat products consumption as servings.

OOprincipal

Integer. This argument informs wether olive oil is the main dietary fat. 0 = olive oil is not usually consumed. 1 = olive oil and other vegetable oils are usually consumed. 2 = only olive oil is usually consumed.

WholeCerealsK

Numeric variable with energy (as Kcal) due to consumption of whole grain products.

FruitK

Numeric variable with energy (as Kcal) due to consumption of fruit.

VegetablesK

Numeric variable with energy (as Kcal) due to consumption of vegetables.

DairyK

Numeric variable with energy (as Kcal) due to consumption of dairy.

WineK

Numeric variable with energy (as Kcal) due to consumption of wine.

FishK

Numeric variable with energy (as Kcal) due to consumption of fish.

PoultryK

Numeric variable with energy (as Kcal) due to consumption of poultry.

LegumesAndMoreK

Numeric variable with energy (as Kcal) due to consumption of legumes, nuts and olives.

PotatoesK

Numeric variable with energy (as Kcal) due to consumption of potatoes.

EggsK

Numeric variable with energy (as Kcal) due to consumption of eggs.

SweetsK

Numeric variable with energy (as Kcal) due to consumption of sweets.

MeatK

Numeric variable with energy (as Kcal) due to consumption of red meat.

OliveOilK

Numeric variable with energy (as Kcal) due to consumption of olive oil.

Kcal

Numeric with total energy intake (as Kcal).

Sex

Vector with gender, it can be numeric, factor or character, as long as its values are provided by 'men' and 'women' arguments.

men

A character string with the value of male gender, default is "male"

women

A character string with the value of female gender, default is "female"

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

output

A character string to set which output should the formula give, allowed values are 'data.frame' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

Computes Mediterranean-Style Dietary Pattern Score according to Rumawas et al. 2009.

MSDPS=ΣSi130100PMSDPS = \frac{\Sigma S_{i}}{130} * 100 * P

Where

Si=10desviationfromrecomended[%]10S_{i} = 10 - \frac{desviation-from-recomended[\%]}{10}

P=EnergyfrommedfoodsTotalenergyP = \frac{Energy from med foods}{Total energy}

As this scoring schema is not similar to others, we briefly explain it:

Step 1: The Score "S" of an item "i" has full score (10 points) if its consumed amount is the same as the standard recommendation (for instance, for fruit, 3 servings a day). If the amount is different, both as a lack or as an excess, more or less points are taken from the maximun possible, depending on how big this difference is.

For instance, if a particular food consumption is 80% of the recomended, the deviation from the recommendation is 20%. This "0% takes 2 points (1 point per each ten), so, instead of the maximun 10, this item deserves Si = 10 - 2 = 8 points.

Olive oil is not measured the same way as the other items. It is considered categorically: only olive oil (10 points), olive oil and other vegetable oils (5 points), no olive oil (0 points).

Step 2: After all items have been computed, they are sumed, and considered a percentage of maximun possible (13 items * 10 points = 130). So, at this step range goes from 0 to 100%.

Step 3: The previous percentage is adjusted with a correction factor "P", ranging from 0 to 1. This correction factor is the proportion of total energy intake provided by all foods included in the mediterranean diet pyramid, i.e., each of the 13 foods included in the score, over total energy intake. This allows the use of the score in non-Mediterranean populations, where large proportion of energy intake comes from foods that wouldn't be found in a mediterranean diet pyramid (like sugar sweetened soft drinks or margarine). Al the arguments about energy intake information are used to compute this correction factor.

This way a 100% is hard to reach.

Please note that Legumes are included with Nuts and Olives.

Value

Computed Mediterranean-Style Dietary Pattern Score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to a theoretical maximun of 100% (max. adhrence)

Author(s)

Miguel Menendez

References

Rumawas, Marcella E., Johanna T. Dwyer, Nicola M. Mckeown, James B. Meigs, Gail Rogers, and Paul F. Jacques. 2009. 'The Development of the Mediterranean-Style Dietary Pattern Score and Its Application to the American Diet in the Framingham Offspring Cohort'. The Journal of Nutrition 139 (6): 1150-56. doi:10.3945/jn.108.103424.

Examples

data(nutriSample)

# wether olive oil is principal or not is stored in the sample dataset
# in a different way than asked by formula.
# In the data set it is 1=olive oil, 2=seeds oil, 3=both
# so a transformation is performed:
Oil <- ifelse(nutriSample$AceiteTipo == 2, 0,
              ifelse(nutriSample$AceiteTipo == 3, 1,
                     ifelse(nutriSample$AceiteTipo == 1, 2, 0)))

MedDiet <-
computeMSDPS(data = nutriSample,
        # group of arguments about food consumption:
            WholeCereals = P56rac + ifelse(nutriSample$P63_2 == 2, nutriSample$P61rac, 0),
            Fruit = P50rac + P52rac,
            Vegetables = P41rac + P42rac,
            Dairy = P19rac + P20rac + P20rac + P22rac + P23rac +
                    P24rac + P25rac + P26rac + P27rac,
            Wine = P96rac,
            Fish = P35rac + P36rac + P37rac + P38rac,
            Poultry = P33rac,
            LegumesAndMore = P46rac + P53rac + P54rac,
            Potatoes = P43grCom +  P44grCom +  P45grCom,
            Eggs = P28rac,
            Sweets = P69rac + P70rac + P71rac + P72rac + P73rac,
            Meat = P29rac + P30rac + P31rac + P32rac,
            OOprincipal = Oil,

        # group of arguments about energy intake to compute correction factor:
            WholeCerealsK = P56Kcal + ifelse(nutriSample$P63_2 == 2, nutriSample$P61Kcal, 0),
            FruitK = P50Kcal + P52Kcal,
            VegetablesK = P41Kcal + P42Kcal,
            DairyK = P19Kcal + P20Kcal + P20Kcal + P22Kcal + P23Kcal +
                     P24Kcal + P25Kcal + P26Kcal + P27Kcal,
            WineK = P96Kcal,
            FishK = P35Kcal + P36Kcal + P37Kcal + P38Kcal,
            PoultryK = P33Kcal,
            LegumesAndMoreK = P46Kcal + P53Kcal + P54Kcal,
            PotatoesK = P43grCom +  P44grCom +  P45grCom,
            EggsK = P28Kcal,
            SweetsK = P69Kcal + P70Kcal + P71Kcal + P72Kcal + P73Kcal,
            MeatK = P29Kcal + P30Kcal + P31Kcal + P32Kcal,
            OliveOilK = AceiteKcal,
            Kcal = totalKcal,

        # final arguments:
            Sex = SEXO, men = "Hombre", women = "Mujer",
            output = "percent", frequency = "daily", rm.na = FALSE)
hist(MedDiet)

computePitsavos

Description

Computes the Mediterranean Diet adherence score developed by Pitsavos et al. in 2005, it can alo be found as Dietary Score (see Details).

Usage

computePitsavos(data, WholeCereals, Fruit, Vegetables, Potatoes,
                Legumes, OliveOil, OOmeasure = "gr", Fish, Meat,
                Poultry, WholeDairy, Wine, output = "percent",
                frequency = "daily", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns.

WholeCereals

Numeric variable with Whole Cereals consumption as servings.

Fruit

Numeric variable with Fruit consumption as servings.

Vegetables

Numeric variable with Vegetables consumption as servings.

Potatoes

Numeric variable with Potatoes consumption as servings.

Legumes

Numeric variable with Legumes consumption as servings.

OliveOil

Numeric variable with olive oil consumption, measure is set with the 'OOmeasure' argument.

OOmeasure

Character string which informs about the unit of the argument 'OliveOil'. Allowed values are 'gr', 'ml' and 'serving', which means respectively grams, mililiters and servings of 1 table spoon (15 ml).

Fish

Numeric variable with Fish consumption as servings.

Meat

Numeric variable with Meat consumption as servings.

Poultry

Numeric variable with Poultry consumption as servings.

WholeDairy

Numeric variable with fish consumption as servings.

Wine

Numeric variable with Wine consumption as glasses.

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

We have chosen to name this score by its first author name (Pitsavos), althought it can be found in the literature as Dietary Score (DS) [Milà-Villarroel, 2011; D'Alesandro-De Pergola, 2015] or as a derivate from MDS (Waijers et al. [Waijers et al., 2007] refer to it as MDS-a IV)

Value

Computed score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 9 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

D'Alessandro, Annunziata, and Giovanni De Pergola. 2015. "Mediterranean Diet and Cardiovascular Disease: A Critical Evaluation of A Priori Dietary Indexes." Nutrients 7 (9): 7863-88. doi:10.3390/nu7095367.

Mila-Villarroel, Raimon, Anna Bach-Faig, Josep Puig, Anna Puchal, Andreu Farran, Lluis Serra-Majem, and Josep Lluis Carrasco. 2011. "Comparison and Evaluation of the Reliability of Indexes of Adherence to the Mediterranean Diet." Public Health Nutrition 14 (12A): 2338-45. doi:10.1017/S1368980011002606.

Pitsavos, Christos, Demosthenes B. Panagiotakos, Natalia Tzima, Christina Chrysohoou, Manolis Economou, Antonis Zampelas, and Christodoulos Stefanadis. 2005. "Adherence to the Mediterranean Diet Is Associated with Total Antioxidant Capacity in Healthy Adults: The ATTICA Study". The American Journal of Clinical Nutrition 82 (3): 694-99. http://ajcn.nutrition.org/content/82/3/694.

Waijers, Patricia M. C. M., Edith J. M. Feskens, and Marga C. Ocke. 2007. "A Critical Review of Predefined Diet Quality Scores." British Journal of Nutrition 97 (2): 219-231. doi:10.1017/S0007114507250421.

Examples

data(nutriSample)


MedDiet <- computePitsavos(data = nutriSample,
  WholeCereals = P56rac + ifelse(nutriSample$P63_2 == 2, nutriSample$P61rac, 0),
  Fruit = P50rac + P52rac,
  Vegetables = P41rac + P42rac,
  Potatoes = P43rac + P44rac + P45rac,
  Legumes = P46rac,
  OliveOil = Aceitegr,
  OOmeasure = "gr",
  Fish = P35rac + P36rac + P37rac + P38rac,
  Meat = P29rac + P30rac + P31rac + P32rac,
  Poultry = P33rac,
  WholeDairy = P19grCom + P22grCom,
  Wine = P96rac,
  output = "percent", frequency = "daily", rm.na = FALSE)

hist(MedDiet)

computePredimed

Description

Computes the Mediterranean Diet adherence score used in PreDiMed trial (Prevencion con Dieta Mediterranea, Spanish which means Prevention with Mediterranean Diet)

Usage

computePredimed(data, OliveOil, OOmeasure = "gr", OOprincipal,
                Vegetables, Fruit, RedMeat, Butter, SoftDrinks,
                Wine, Legumes, Fish, Pastries, Nuts, WhiteMeat,
                Sofritos, output = "percent", rm.na = FALSE, frequency = NULL)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns.

OliveOil

Numeric with olive oil consumption. Units are set with the argument 'OOmeasure'.

OOmeasure

Character string which informs about the unit of the argument 'OliveOil'. Allowed values are 'gr', 'ml' and 'serving', which means respectively grams, mililiters and servings of 1 table spoon (10 ml).

OOprincipal

Integer. This item scores wether olive oil is the main dietary fat as a dichotomous variable (1-yes, 0-no).

Vegetables

Numeric. Vegetables consumption measured as servings.

Fruit

Numeric. Fruit consumption measured as servings.

RedMeat

Numeric. RedMeat consumption measured as servings.

Butter

Numeric. Butter consumption measured as servings.

SoftDrinks

Numeric. SoftDrinks consumption measured as servings.

Wine

Numeric. Wine consumption measured as servings (glasses).

Legumes

Numeric. Legumes consumption measured as servings.

Fish

Numeric. Fish consumption measured as servings.

Pastries

Numeric. Pastries consumption measured as servings.

Nuts

Numeric. Nuts consumption measured as servings.

WhiteMeat

Integer. This item scores wether wite meats are preferred over red meats. So it is a dichotomous variable (1-yes, 0-no).

Sofritos

Numeric. Number of times 'sofrito' is consumed (see Details).

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

Details

This score was used in the landmark PreDiMed trial (Prevencion con Dieta Mediterranea, Spanish which means Prevention with Mediterranean Diet) (Estruch et al. 2013). It can also be found under the name MEDAS (MEditerranean Diet Adherence Screener) (Schroder et al. 2011)

Please note that olive oil is in thtree items: one measuring the amount of servings, other measuring if it is the main dietary fat, and another asking about 'sofrito' consumption. Supplementary material of Estruch et al. 2013 informs that one tablespoon is 10ml.

'Sofrito' is a special way to cook, a sauce made with tomato and onion, leek, or garlic, simmered with olive oil.

Value

Computed Predimed score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 9 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

Estruch, Ramon, Emilio Ros, Jordi Salas-Salvado, Maria-Isabel Covas, Dolores Corella, Fernando Aros, Enrique Gomez-Gracia, et al. 2013. "Primary Prevention of Cardiovascular Disease with a Mediterranean Diet." New England Journal of Medicine 368 (14): 1279-90. doi:10.1056/NEJMoa1200303. (Supplementary material available at http://www.nejm.org/action/showSupplements?doi=10.1056

Martinez-Gonzalez, Miguel Angel, Dolores Corella, Jordi Salas-Salvado, Emilio Ros, Maria Isabel Covas, Miquel Fiol, Julia Warnberg, et al. 2012. "Cohort Profile: Design and Methods of the PREDIMED Study." International Journal of Epidemiology 41 (2): 377-385. http://ije.oxfordjournals.org/content/41/2/377.short.

Schroder, Helmut, Montserrat Fito, Ramon Estruch, Miguel A. Martinez-Gonzalez, Dolores Corella, Jordi Salas-Salvado, Rosa Lamuela-Raventos, et al. 2011. 'A Short Screener Is Valid for Assessing Mediterranean Diet Adherence among Older Spanish Men and Women'. The Journal of Nutrition 141 (6): 1140-45. doi:10.3945/jn.110.135566.

Examples

data(nutriSample)
MedDiet <- computePredimed(data = nutriSample, OliveOil = Aceitegr, OOmeasure = "gr",
                  OOprincipal = ifelse(nutriSample$AceiteTipo == 1, 1, 0),
                  Vegetables = P41rac + P42rac,
                  Fruit = P50rac + P52rac,
                  RedMeat = P29rac + P31rac,
                  Butter = P79rac,
                  SoftDrinks = P89rac + P90rac,
                  Wine = P96rac,
                  Legumes = P46rac,
                  Fish = P35rac + P36rac + P37rac + P38rac,
                  Pastries = P69rac + P70rac + P71rac + P72rac + P73rac,
                  Nuts = P53rac,
                  WhiteMeat = ifelse(nutriSample$P30rac > nutriSample$P29rac, 1, 0),
                  Sofritos = rep(0, nrow(data)), # data lacks this variable, so we go on without it
                  output = "percent", rm.na = FALSE, frequency = "daily")
hist(MedDiet)

computeRMED

Description

Computes the Revised Mediterranean Diet adherence score according to Buckland et al. in 2009, also known as rMED.

Usage

computeRMED(data, FruitAndNuts, Vegetables, Legumes, Cereals, Fish,
            OliveOil, OOmeasure = "gr", Meat, Dairy, Alcohol,
            Kcal, Sex, men="male", women="female",
            frequency = NULL, output = "percent", rm.na = FALSE)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns

FruitAndNuts

Numeric variable with consumption of Fruits and Nuts as grams.

Vegetables

Numeric variable with Vegetables consumption as grams

Legumes

Numeric variable with Legumes consumption as grams

Cereals

Numeric variable with Legumes consumption as grams

Fish

Numeric variable with Fish consumption as grams

OliveOil

Numeric variable with olive oil consumption, measure is set with the 'OOmeasure' argument

OOmeasure

Character string which informs about the unit of the argument 'OliveOil'. Allowed values are 'gr', 'ml' and 'serving', which means respectively grams, mililiters and servings of 1 table spoon (15 ml).

Meat

Numeric variable with Meat consumption as grams

Dairy

Numeric variable with Dairy consumption as grams

Alcohol

Numeric variable with Alcohol consumption as etanol grams from any beberage origin

Kcal

Numeric variable with energy consumption in kilocalories.

Sex

Vector with gender, it can be numeric, factor or character, as long as its values are provided by 'men' and 'women' arguments. If 'Sex' argument is character or factor, and values for male are either 'man', 'male', 'MAN' or 'MALE', and for females are 'woman', 'female', 'WOMAN' or 'FEMALE', then, the arguments 'men' and 'women' can be missing

men

A character string with the value of male gender, default is "male"

women

A character string with the value of female gender, default is "female"

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

Details

the rMED questionnaire scores food consumption as grams by 1000Kcal/day, but arguments are expected to be provided as grams eaten by day.

Value

Computed RMed score. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 18 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

Buckland, Genevieve, Carlos A. Gonzalez, Antonio Agudo, Mireia Vilardell, Antoni Berenguer, Pilar Amiano, Eva Ardanaz, et al. 2009. 'Adherence to the Mediterranean Diet and Risk of Coronary Heart Disease in the Spanish EPIC Cohort Study'. American Journal of Epidemiology, January, kwp282. doi:10.1093/aje/kwp282.

Examples

data(nutriSample)

MedDiet <- computeRMED(data = nutriSample,
                      Kcal = totalKcal,
                      FruitAndNuts = P50grCom + P52grCom,
                      Vegetables = P41grCom + P42grCom,
                      Legumes = P46grCom,
                      Cereals = P55grCom + P56grCom + P57grCom + P59grCom +
                                P60grCom + P61grCom + P62grCom,
                      Fish = P35grCom + P36grCom + P37grCom + P38grCom,
                      OliveOil = Aceitegr,
                      Meat = P29grCom + P30grCom + P31grCom + P32grCom,
                      Dairy= P19grCom + P20grCom + P20grCom + P22grCom + P23grCom +
                             P24grCom + P25grCom + P26grCom + P27grCom,
                      Alcohol = 10 * (P94rac + P96rac + P97rac + P98rac + P99rac),
                      Sex = SEXO, men = "Hombre", women = "Mujer",
                      frequency = "daily", output = "percent", rm.na = FALSE)
summary(MedDiet)

ComputeSofi

Description

Computes Mediterranean Diet adherence score accoring to the literature review by Sofi et al. in 2014.

Usage

computeSofi(data, Fruit, Vegetables, Legumes, Cereals,
            Fish, Meat, Dairy, Alcohol, OliveOil,
            output = "percent", rm.na = FALSE, frequency = NULL)

Arguments

data

Your data set with nutritional information about food or nutrient consumption. Each row is expected to be a person, and food or nutrient intake are in columns

Fruit

Numeric variable with fruit consumption as servings (1 serving: 150g)

Vegetables

Numeric variable with vegetables consumption as servings (1 serving: 100g)

Legumes

Numeric variable with legumes consumption as servings (1 serving: 70g)

Cereals

Numeric variable with cereal consumption as servings (1 serving: 130g)

Fish

Numeric variable with fish consumption as servings (1 serving: 100g)

Meat

Numeric variable with meat and meat products consumption as servings (1 serving: 80g)

Dairy

Numeric variable with dairy consumption as servings (1 serving: 180g)

Alcohol

Numeric variable with alcohol intake as Alcohol Units (1 Alcohol Unit: 12g)

OliveOil

Integer variable indicating if olive oil consumption is consumed as 0 = occasional use, 1 = frequent use or 2 = regular use

output

A character string to set which output should the formula give, allowed values are 'data.frame', 'score' and 'percent' (default).

rm.na

Logical. If set to FALSE (default), a diet score will be computed only if a person has all score components informed. If set to TRUE, NA values in score components will be drop off and a value of available components will be returned, but percent of score adherence will be computed with basis of the whole score range (see Details)

frequency

A character string. Allowed values are 'daily', 'weekly' and 'monthly'. It informs about the frequency which food or nutrient consumption refers to (i.e. wether the rest of arguments are 'grams per day' or 'grams per week' or 'grams per month')

Details

This questionnaire vas developed after a systematic literature review (Sofi et al., 2014). To set its cut-offs it considered the amounts of food in the included studies, which studied adherence to mediterranean diet and health status.

Value

Computed score according to Sofi et al. 2014. Depending on 'output' argument, value can be a data.frame, or a vector:

if output = 'data.frame'

A data frame with a row corresponding to each person in data. Columns are the score of each component, as well as the global score as natural sum ('absolute' column) and as percentage ('percent' column)

if output = 'score'

Instead of the full data.frame, just the integer vector corresponding to the absolute points of adherence to Mediterranean Diet for each person, from 0 (min.) to 18 (max.)

if output = 'percent'

Instead of the full data.frame, just the numeric vector corresponding to the percent of adherence to Mediterranean Diet for each person, from 0 (min. adherence) to 100 percent (max. adhrence)

Author(s)

Miguel Menendez

References

Sofi, Francesco, Claudio Macchi, Rosanna Abbate, Gian Franco Gensini, and Alessandro Casini. 2014. 'Mediterranean Diet and Health Status: An Updated Meta-Analysis and a Proposal for a Literature-Based Adherence Score'. Public Health Nutrition 17 (12): 2769-82. doi:10.1017/S1368980013003169.

Examples

data(nutriSample)

# wether olive oil is principal or not is stored in the sample dataset
# in a different way than asked by formula.
# In the data set it is 1=olive oil, 2=seeds oil, 3=both
# so a transformation is performed:
Oil <- ifelse(nutriSample$AceiteTipo == 2, 0,
              ifelse(nutriSample$AceiteTipo == 3, 1,
                     ifelse(nutriSample$AceiteTipo == 1, 2, 0)))

Sofi <- computeSofi(data = nutriSample,
              Fruit = P50rac + P52rac,
              Vegetables = P41rac +  P42rac,
              Legumes = P46rac,
              Cereals = P55rac + P56rac + P57rac + P59rac + P60rac + P61rac + P62rac,
              Fish = P35rac + P36rac + P37rac + P38rac,
              Meat = P29rac + P30rac + P31rac + P32rac,
              Dairy = P19rac + P20rac + P20rac + P22rac + P23rac +
                      P24rac + P25rac + P26rac + P27rac,
              Alcohol = P94rac + P96rac + P97rac + P98rac + P99rac,
              OliveOil = Oil,
              output = "data.frame", rm.na = FALSE, frequency = "daily")

hist(Sofi$percent)

Sample from a nutriepidemiological study

Description

A sample of 192 Spanish people from a nutriepidemiological study, from DRECE group (Dieta y Riesgo de Enfermedad Cardiovascular en España [Diet and Cardiovascular Risk in Spain]). Food consumption was assessed by a Frequency Food Questionnaire. For all foods or nutrients, food consumption is stored as daily consumption.

Usage

data("nutriSample")

Format

A data frame with 192 observations on the following variables.

IDE

integer, identification number

PROVINCIA

geographic region of procedence of the person

SEXO

gender information

EDAD

age as years

FUMADOR

smoking habit of the person 0 = never smoker, 1 = current smoker, 2 = former smoker

HIPERTENSO

if the person has prior diagnose of High Blood Pressure

MEDIC_TENS

if the person is under blood lowering pressure treatment

HIPER_COLES

if the person has prior diagnose of Dyslipidemia

MEDIC_COLES

if the person is under lipid lowering treatment

ANT_CARDIO

if the person has a history of coronary events

DIABETES

if the person has prior diagnose of Diabetes Mellitus

peso

weight in kg

altura

heigth in cm

TAS1

first systolic blood pressure measurement in mmHg

TAD1

first diastolic blood pressure measurement in mmHg

TAS2

second systolic blood pressure measurement in mmHg

TAD2

second diastolic blood pressure measurement in mmHg

Colesterol

plasmatic total Cholesterol

LDL

plasmatic Low Density Lipoprotein

HDL

plasmatic High Density Lipoprotein

TG

plasmatic triglycerides

APO.B

plasmatic Apolipoprotein B

APO.A

plasmatic Apolipoprotein A

P19grCom

Edible portion (in grams) of whole milk

P19Kcal

Kcal attributable to consumption of whole milk

P19rac

Servings of whole milk

P20grCom

Edible portion (in grams) of skimmed or semi-skimmed mil

P20Kcal

Kcal attributable to consumption of skimmed or semi-skimmed mil

P20rac

Servings of skimmed or semi-skimmed mil

P21Kcal

Kcal attributable to consumption of milk enriched with omega-3 acid

P22grCom

Edible portion (in grams) of whole yogurt

P22rac

Servings of whole yogurt

P22Kcal

Kcal attributable to consumption of whole yogurt

P23grCom

Edible portion (in grams) of skimmed or semi-skimmed yogurt

P23rac

Servings of skimmed or semi-skimmed yogurt

P23Kcal

Kcal attributable to consumption of skimmed or semi-skimmed yogurt

P24grCom

Edible portion (in grams) of enriched with probiotics yogurt

P24rac

Servings of enriched with probiotics yogurt

P24Kcal

Kcal attributable to consumption of enriched with probiotics yogurt

P25grCom

Edible portion (in grams) of dairy products, usually desserts, like custard, junket, flan or requeson

P25rac

Servings of dairy products, usually desserts, like custard, junket, flan or requeson

P25Kcal

Kcal attributable to consumption of dairy products, usually desserts, like custard, junket, flan or requeson

P26grCom

Edible portion (in grams) of unripened cheese

P26Kcal

Kcal attributable to consumption of unripened cheese

P26rac

Servings of unripened cheese

P27grCom

Edible portion (in grams) of cheese (hard, semi-hard, ball, blue...)

P27Kcal

Kcal attributable to consumption of cheese (hard, semi-hard, ball, blue...)

P27rac

Servings of cheese (hard, semi-hard, ball, blue...)

P28Kcal

Kcal attributable to consumption of eggs

P28rac

Servings of eggs

P29grCom

Edible portion (in grams) of red meat (cattle, lamb, pork)

P29grGrasa

Fat intake attributable to consumption of red meat (cattle, lamb, pork)

P29Kcal

Kcal attributable to consumption of red meat (cattle, lamb, pork)

P29rac

Servings of red meat (cattle, lamb, pork)

P30grCom

Edible portion (in grams) of white meat (poultry, rabbit)

P30grGrasa

Fat intake attributable to consumption of white meat (poultry, rabbit)

P30Kcal

Kcal attributable to consumption of white meat (poultry, rabbit)

P30rac

Servings of white meat (poultry, rabbit)

P31grCom

Edible portion (in grams) of cold cuts ("embutido")

P31grGrasa

Fat intake attributable to consumption of cold cuts ("embutido")

P31Kcal

Kcal attributable to consumption of cold cuts ("embutido")

P31rac

Servings of cold cuts ("embutido")

P32grCom

Edible portion (in grams) of serrano ham

P32grGrasa

Fat intake attributable to consumption of serrano ham

P32Kcal

Kcal attributable to consumption of serrano ham

P32rac

Servings of serrano ham

P33grGrasa

Fat intake attributable to consumption of York ham

P33rac

Servings of York ham

P33Kcal

Kcal attributable to consumption of York ham

P34grGrasa

Fat intake attributable to consumption of offal (guts, pluck or organ meats)

P35grCom

Edible portion (in grams) of white fish

P35Kcal

Kcal attributable to consumption of white fish

P35rac

Servings of white fish

P36grCom

Edible portion (in grams) of blue fish

P36Kcal

Kcal attributable to consumption of blue fish

P36rac

Servings of blue fish

P37grCom

Edible portion (in grams) of shellfish

P37Kcal

Kcal attributable to consumption of shellfish

P37rac

Servings of shellfish

P38grCom

Edible portion (in grams) of tinned fish

P38Kcal

Kcal attributable to consumption of tinned fish

P38rac

Servings of tinned fish

P41grCom

Edible portion (in grams) of salads

P41Kcal

Kcal attributable to consumption of salads

P41rac

Servings of salads

P42grCom

Edible portion (in grams) of boiled or grilled vegetables

P42Kcal

Kcal attributable to consumption of boiled or grilled vegetables

P42rac

Servings of boiled or grilled vegetables

P43grCom

Edible portion (in grams) of boiled or roasted potatoes

P43Kcal

Kcal attributable to consumption of boiled or roasted potatoes

P43rac

Servings of boiled or roasted potatoes

P44grCom

Edible portion (in grams) of fried home cooked potatoes (not frozen)

P44Kcal

Kcal attributable to consumption of fried home cooked potatoes (not frozen)

P44rac

Servings of fried home cooked potatoes (not frozen)

P45grCom

Edible portion (in grams) of fried frozen potatoes or eaten in restaurants or fast food

P45rac

Servings of fried frozen potatoes or eaten in restaurants or fast food

P45Kcal

Kcal attributable to consumption of fried frozen potatoes or eaten in restaurants or fast food

P46grCom

Edible portion (in grams) of legumes

P46Kcal

Kcal attributable to consumption of legumes

P46rac

Servings of legumes

P50grCom

Edible portion (in grams) of fresh fruit

P50Kcal

Kcal attributable to consumption of fresh fruit

P50rac

Servings of fresh fruit

P52grCom

Edible portion (in grams) of dried figs, dried grapes, dried plums or dates

P52rac

Servings of dried figs, dried grapes, dried plums or dates

P52Kcal

Kcal attributable to consumption of dried figs, dried grapes, dried plums or dates

P53grCom

Edible portion (in grams) of nuts (almonds, pistachios, walnuts, hazelnuts or peanuts)

P53Kcal

Kcal attributable to consumption of nuts (almonds, pistachios, walnuts, hazelnuts or peanuts)

P53rac

Servings of nuts (almonds, pistachios, walnuts, hazelnuts or peanuts)

P54Kcal

Kcal attributable to consumption of olives

P54rac

Servings of olives

P55grCom

Edible portion (in grams) of white bread

P55Kcal

Kcal attributable to consumption of white bread

P55rac

Servings of white bread

P56grCom

Edible portion (in grams) of whole grain bread

P56Kcal

Kcal attributable to consumption of whole grain bread

P56rac

Servings of whole grain bread

P57grCom

Edible portion (in grams) of toast bread

P57Kcal

Kcal attributable to consumption of toast bread

P57rac

Servings of toast bread

P59grCom

Edible portion (in grams) of breakfast cereals

P59Kcal

Kcal attributable to consumption of breakfast cereals

P59rac

Servings of breakfast cereals

P60grCom

Edible portion (in grams) of fiber enriched breakfast cereals

P60Kcal

Kcal attributable to consumption of fiber enriched breakfast cereals

P60rac

Servings of fiber enriched breakfast cereals

P61grCom

Edible portion (in grams) of white rice

P61Kcal

Kcal attributable to consumption of white rice

P61rac

Servings of white rice

P62grCom

Edible portion (in grams) of paella (a traditionl Spanish dish based on rice with yellow colorant)

P62Kcal

Kcal attributable to consumption of paella (a traditionl Spanish dish based on rice with yellow colorant)

P62rac

Servings of paella (a traditionl Spanish dish based on rice with yellow colorant)

P63_2

A question about consumption of whole bread (1) or white bread (0)

P69Kcal

Kcal attributable to consumption of pastries

P69rac

Servings of pastries

P70Kcal

Kcal attributable to consumption of churros and fritters

P70rac

Servings of churros and fritters

P71Kcal

Kcal attributable to consumption of cakes

P71rac

Servings of cakes

P72Kcal

Kcal attributable to consumption of chocolate or bonbons

P72rac

Servings of chocolate or bonbons

P73Kcal

Kcal attributable to consumption of ice cream

P73rac

Servings of ice cream

P75rac

Servings of sunflower seeds

P79rac

Servings of butter

P84Kcal

Kcal attributable to consumption of sugar

P89Kcal

Kcal attributable to consumption of soft drinks

P89rac

Servings of soft drinks

P90Kcal

Kcal attributable to consumption of diet soft drinks

P90rac

Servings of diet soft drinks

P94rac

Servings of beer

P96Kcal

Kcal attributable to consumption of wine

P96rac

Servings of wine

P97rac

Servings of vermouth, fine wine or sweet wine

P98rac

Servings of liquor or anisette

P99rac

Servings of spirits (whiskey, cognac, gin)

Aceitegr

olive oil consumption in grams

AceiteKcal

Kcal attributable to olive oil consumption

AceiteTipo

kind of oil preferred by the surveyed person (1 = olive oil, 2 = seeds oil, 3 = both)

totalgr

Total Food consumption, included edible and not edible, in grams

totalgrCom

Total Edible food consumption, in grams, including liquid foods like milk

grBebidas

total beberage intake in ml not coming directly from drinken water

grSinBebidas

total food consumption in grams, without liquid components

totalCH

total CarboHydrates consumption (grams per day)

totalProt

total Protein consumption (grams per day)

totalGrasa

total Fat consumption (grams per day)

totalGrasaSat

total Saturated Fat consumption (grams per day)

totalGrasaMonoins

total Monounsaturated Fat consumption (grams per day)

totalGrasaPoliins

total Polyunsaturated Fat consumption (grams per day)

totalCol

total Cholesterol consumption (in mg per day)

totalFibra

total Fiber consumption (grams per day)

totalKcal

total kcal eaten per day

References

Gutiérrez Fuentes JA, Gómez Gerique JA, Rubio Herrera MA, Gómez de la Cámara A, Grupo DRECE. Capítulo 1. DRECE: introducción. Med Clin (Barc). 2011;12(4):1–2.

Gómez Gerique JA, Herrera R, Gómez de la Cámara A, Grupo DRECE. Capítulo 2. El proyecto DRECE. Med Clin (Barc). 2011;12(4):3–5.

Gómez Gerique JA, Herrera R, Gómez de la Cámara A, Gutiérrez Fuentes JA, Grupo DRECE. Capítulo 3. DRECE I (1991). Med Clin (Barc). 2011;12(4):6–15.

Gómez de la Cámara A, Gutiérrez Fuentes JA, Gómez Gerique JA, Herrera R, Grupo DRECE. Capítulo 4. DRECE II (1996). Evolución del perfil cardiovascular y morbilidad en poblaciones de riesgo. Med Clin (Barc). 2011;12(4):16–21.

Gómez de la Cámara A, Herrera R, Gutiérrez Fuentes JA, Jurado Valenzuela C, Cancelas Navia P, Gómez Gerique JA, et al. Capítulo 5. DRECE III (2004). Mortalidad y factores de riesgo cardiovascular. Med Clin (Barc). 2011;12(4):22–30.

Gutiérrez Fuentes JA, Gómez Gerique JA, Gómez de la Cámara A, Cancelas Navia P, Jurado Valenzuela C, Herrera R, et al. Capítulo 6. DRECE IV (2008). Hábitos alimentarios actuales y evolución de la dieta en la población española. Med Clin (Barc). 2011;12(4):31–34.

Gómez-de la Cámara A, Pinilla-Domínguez P, Vázquez-Fernández Del Pozo S, García-Pérez L, Rubio-Herrera MA, Gómez-Gerique JA, et al. Costs resulting from premature mortality due to cardiovascular causes: A 20-year follow-up of the DRECE study. Rev Clin Esp. 2014 Oct;214(7):365–70.

Examples

data(nutriSample)
summary(nutriSample$totalKcal)

Transforms data codified as daily, weekly or monthly, to any other of them.

Description

Diferent scores of Mediterranean Diet set cutoffs of daily, weekly or monthly consumption. Additionally, a dataset can be stored as diferent frequency of consumption. This function has been created to be called by others, it just multiplies or divides by the suitable numbre (for instance, from 'daily' to 'weekly' it just multiplies by 7)

Usage

periodicity(x, OriginalFreq, TargetFreq)

Arguments

x

numeric variable or a list of numeric variables, which want to be converted

OriginalFreq

character string. The frequency in which information was captured (should be provided by user). Allowed values are 'daily', 'weekly' or 'monthly'

TargetFreq

character string. The frequency in which information has to be transformed. Allowed values are 'daily', 'weekly' or 'monthly'. Usually it will be provided by another formula, depending in its scoring scheme

Value

A numeric vector, or a list of numeric vectors.

Author(s)

Miguel Menendez

Examples

foodA <- c(1,2,3)
foodB <- c(3,2,1)
L <- list(foodA = foodA, foodB= foodB)

# Use with a numeric variable
periodicity(foodA, "daily", "weekly")

#Use with a list
periodicity(L, "daily", "weekly")