Menu ENN Search
Changer la langue : English Français

Nouvelle version du package R 'zscorer' disponible dès maintenant

Cette question a été affichée dans le forum de discussion Évaluation et Surveillance et a des réponses 21.

» Afficher une réponse

Mark Myatt

Consultamt Epidemiologist

Utilisateur fréquent

5 nov. 2019, 14:55

Ernest et moi avons travaillé sur le package zscorer pour le langage R pour l'analyse de données et les graphiques. La version v0.3.1 du paquet zscorer calcule et ajoute des scores z anthropométriques nutritionnels aux données d'enquête :

  • Z-scores de poids pour la longueur (wfl) pour les enfants d'une longueur comprise entre 45 et 110 cm
  • Z-scores poids-pour-taille (wfh) pour les enfants avec des tailles entre 65 et 120 cm
  • Z-scores de longueur pour l'âge (lfa) pour les enfants de moins de 24 mois
  • Z-scores de taille pour l'âge (hfa) pour les enfants âgés de 24 à 228 mois
  • Z-scores de poids pour l'âge (wfa) pour les enfants âgés de zéro à 120 mois
  • Score z de l'indice de masse corporelle selon l'âge (bfa) pour les enfants âgés de zéro à 228 mois
  • Z-scores MUAC par âge pour les enfants de 3 à 228 mois
  • Z-scores de triceps peau-pour-âge (tsa) pour les enfants âgés de 3 à 60 mois
  • Scores z sous-scapulaires du pli cutané pour l'âge (ssa) chez les enfants âgés de 3 à 60 mois
  • Z-scores du tour de tête en fonction de l'âge (hca) pour les enfants âgés de zéro à 60 mois

Les scores z sont calculés à l'aide des normes de croissance de l'enfant de l'OMS pour les enfants âgés de zéro à 60 mois ou des références de croissance de l'OMS pour les enfants d'âge scolaire et les adolescents.

La nouveauté dans cette version est que les scores z PB pour âge (mfa) des enfants âgés de 60 à 228 mois sont calculés à l'aide de la nouvelle référence de croissance PB pour âge développée par Mramba et al. (2017) à l'aide de données provenant des États-Unis et d'Afrique :

Mramba L, Ngari M, Mwangome M, Muchai L, Bauni E, Walker AS, et al. A growth reference for mid upper arm circumference for age among school age children and adolescents, and validation for mortality: growth curve construction and longitudinal cohort study. BMJ. 2017

Cette référence a été validée avec des enfants d’âge scolaire et des adolescents africains.

Zscorer est fourni avec les données de référence de croissance de l'OMS et les nouvelles données de référence MUAC-for-age.

Le package contient une application Shiny qui fournit une interface Web aux fonctions du package. Vous pouvez voir un exemple de cette fonctionnalité ici .

Le paquet peut être téléchargé et installé dans R de la manière habituelle. Le site Web du paquet est ici .

Un manuel est inclus dans l’emballage et il est disponible ici .

Carlos Grijalva-Eternod

UCL Institute for Global Health

Utilisateur régulier

5 nov. 2019, 19:54

Ce paquet R est très bine conçu et très utile.

Merci Mark et Ernest.

Ernest Guevarra

Utilisateur fréquent

5 nov. 2019, 20:15

Merci de partager tout cela sur le forum Mark.

Mark et moi-même sommes heureux de pouvoir partager ce package, ainsi que l'interface Web correspondante, avec le forum et avec tous ceux qui réalisent des études et des enquêtes sur la nutrition. Nous pensons que cela comble une lacune que nous avons constatée à partir de certaines des questions / problèmes soulevés dans la discussion qui concerne les outils de calcul du score z.

Pour ceux qui utilisent déjà le langage R pour l’analyse de données et les graphiques, l’installation et l’utilisation se feront simplement à l’aide des liens que Mark partage, documentant les fonctions du paquet zscorer.

Pour ceux qui n'utilisent pas R ou qui en sont encore aux premiers stades de l'apprentissage de R, l'interface Web permet à quiconque d'effectuer les calculs à l'aide d'une interface utilisateur simple et conviviale.

Ce paquet et l'interface Web sont en développement actif. Mark et moi-même sommes heureux de recevoir vos commentaires / commentaires / problèmes, rapports de bugs / demandes de fonctionnalités via le forum EN-NET ou via notre portail de développement GitHub, disponibles ici . Mark et moi-même soutenons également le développement open source et, en tant que tel, notre base de code est disponible afin que quiconque puisse en prendre connaissance et en tirer des commentaires. Ceci est à nouveau disponible via notre portail de développement GitHub .

Anonyme 27728

Étudiant

Utilisateur régulier

5 nov. 2019, 22:13

Excuse moi pour moi c’est pas une réponse  mais plutôt une question: dites-moi si vous connaissez un moyen de calculer le poids cible à l’ai Du points et de la taille d’un enfant sans utilise la table de Zscore de l’OMS?  

J’aimerais savoir s’il y’a une autre méthode pour avoir le poids cible d’un enfant sans utiliser la table de zscore de l’OMS car après avoir prendre les paramètres anthropométriques pour le P/T -3 on utilise la table de l’OMS pour avoir son poids cible ma question est de savoir s’il y’a une autre méthode de calcul 

 merci d’avoir pris ma question en considération, Tidiani Cisse Etudiant 

Sharon Cox

Assoc Professor

Utilisateur régulier

6 nov. 2019, 01:32

Merci Ernest et Mark. Je conviens que cela comble un vide. J'en ferai part à mes étudiants.

Mutegi Kevin

Utilisateur régulier

6 nov. 2019, 03:02

Merci Mark et Ernest

Mbaye Diop

cellule de lutte contre la malnutrition de senegal

Utilisateur régulier

7 nov. 2019, 13:59

Bonjour,

Il existe de poids cibles attendus pour une periode de 1 mois dans le cadre du suivi promotion de la croissance (SPC).

essait de faire connaissance avec ces tableaux mais c'est pour les enfants de 0-23 mois.

Merci

Mark Myatt

Consultamt Epidemiologist

Utilisateur fréquent

7 nov. 2019, 16:16

Cher Anonyme 27728 / Étudiant / Tidiani Cisse,

Je ne suis pas sûr de comprendre votre question. Je suppose que vous avez un cas de MAS avec P/T < -3 et que vous souhaitez déterminer quel poids correspoindrait à P/T > = 2 et cela devient un «poids cible». Est-ce exact ?

Si c'est le cas, il devrait être assez facile d'écrire un court script R qui utilise les fonctions et les données de référence du paquet zscorer pour effectuer les calculs. Vous pouvez encapsuler ce script avec Shiny pour pouvoir effectuer les calculs dans votre navigateur Web.

La mécanique du script R ressemblera à ceci :

## Charger la bibliothèque zscorer
bibliothèque (zscorer)

## Sexe, poids et taille pour un cas MAS
sexe = 1
hauteur = 91
poids = 9,9

## Calculez P/T pour ce cas
getWGSR (sexe = sexe, première partie = poids, deuxième partie = taille, index = "wfh")

Cela donne:

[1] -3,633671

Il s'agit du P/T pour le cas spécifié (par exemple, sexe = 1 (pour les hommes), taille = 91 et poids = 9,9).

Nous devons maintenant calculer quel poids pour la hauteur actuelle donne WHZ = 2

## Spécifiez la fonction objectif
objFun <- fonction (poids)
{
résultat <- getWGSR (sex = sex, firstPart = weight,
secondPart = hauteur, index = "wfh") + 1.99
retour (résultat)
}

## Trouver le poids qui donne une réponse proche de zéro
uniroot (objFun, intervalle = c (poids, 25)) $ racine

Cela donne:

[1] 11.23279

C'est le poids cible

Nous pouvons vérifier le résultat avec la taille d'origine et le poids cible :

getWGSR (sexe = 1, première partie = 11.23279, deuxième partie = 91, index = "wfh" (p/t))

Cela donne:

[1] -1.990001

comme nous le voulions juste au-dessus de P/T = -2.

Ce processus suppose qu'aucune hauteur n'est gagnée pendant le traitement. Ce n'est peut-être pas toujours le cas, car les enfants ont tendance à grandir rapidement lorsque leurs besoins nutritionnels sont satisfaits.

Une alternative simple ... Les directives de l'UNICEF ont pour objectif un gain de poids de 15%. Pour l'exemple de l'enfant, ce serait :

9,9 * 1,15 = 11,385

Nous pouvons vérifier ce que cela donne :

getWGSR (sexe = 1, première partie = 11.385, deuxième partie = 91, index = "wfh" (p/t))

Cela donne:

[1] -1.813269

qui est également un peu au-dessus de P/T <-2, ce qui laisse de la place pour un petit gain de hauteur.

L’apporach de gain de poids proportionnel de 15% est simple à appliquer avec une table ou à l’aide d’une calculatrice de poche économique et simple.

Aussi ... Les tables de poids cibles GMP sont pour une croissance de poids normale et nous nous attendons / voulons une croissance accélérée dans l'alimentation thérapeutique.

J'espère que cela vous sera utile.

Martin Njoroge

Epidemiologist

Utilisateur régulier

13 nov. 2019, 08:57

Merci Mark et Ernest. Informatif et utile.

Severine Frison

Utilisateur régulier

15 avr. 2020, 11:57

Bonjour Mark,

J'utilise le package, vraiment du bon travail. Merci beaucoup.

J'ai une question cependant, il semble que les zscores soient arrondis à 2 chiffres seulement. Existe-t-il un moyen de modifier cette option ?

Merci d'avance

Sev

Mark Myatt

Consultamt Epidemiologist

Utilisateur fréquent

15 avr. 2020, 12:26

Oui. En utilisant addWGSR () pour ajouter des z-scores à un R data.frame, vous pouvez spécifier le nombre de chiffres que vous souhaitez en utilisant le paramètre digits . Par exemple, avec des données d'enquête dans l'objet svy data.frame, vous pouvez ajouter un P/T (WHZ) à quatre chiffres en utilisant :

svy <- addWGSR (data = svy, sex = "sex", firstPart = "weight",

secondPart = "height", index = "wfh", digits = 4 )

cela devrait ajouter WHZ comme wfhz avec quatre décimales ... Je ne sais pas pourquoi vous désirez ce niveau de précision. Si vous avez besoin d'un nom différent de celui utilisé, utilisez le paramètre name .

J'espère que cela vous sera utile.

Merci pour vos aimables commentaires sur le logiciel,

Severine Frison

Utilisateur régulier

15 avr. 2020, 13:37

Merci beaucoup Mark!

Cazes Cécile

Utilisateur régulier

22 mai 2020, 23:24

Bonjour,

La table de calcul du rapport poids sur taille utilisé en RDC correspond à la table unisexe garçon de l'OMS mais ne prend pas en compte l'âge de l'enfant. De ce fait lorsque je compare la classification des enfants selon le rapport P/T selon la table de RDC et selon une variable calculée avec le package zscorer ou autre package R tel que anthro ou igrowup, j'observe des différences de classifications.

Par exemple un enfant de 29 mois avec un poids de 7,2 kg et une taille de 73,5 cm a un rapprt P/T = -3 selon la table RDC mais un rapport P/T = - 3,27 selon la table OMS garçon. Donc lorsque je vérifie la classification de cet enfant en deux catégorie MAS ou Non MAS  par les infirmiers, ma variable calculée me signale une classification MAS alors que l'enfant est non MAS selon la table RDC, il n'y a donc pas d'erreur selon la table utilisé en RDC. J'ai trouvé 1,5% de discordance de ce type du fait que le calcul de l'indice poids/taille selon les normes OMS 2006 est basés sur l'âge ou la prise de la taille debout ou couché de l'enfant. 

L'idéal serait que je puisse intégrer la table rapport poids/taille de la RDC dans un programme R pour éviter ces discordances. Qu'en pensez-vous? Pensez-vous cela faisable? comment? ou peut-être d'autres alternatives?

Merci par avance pour votre aide.

Mark Myatt

Consultamt Epidemiologist

Utilisateur fréquent

25 mai 2020, 11:00

Je ne suis pas sûr de bien comprendre la question. Z score P/T pour un garçon avec une taille = 73,5 cm et un poids = 7,2 kg est -3. Ceci provient du tableau de l'OMS :

www.who.int/childgrowth/standards/WFL_boys_0_2_zscores.pdf?ua=1

Utilisation de zscorer :

> getWGSR (sex = 1, firstPart = 7.2, secondPart = 73.5, index = "wfh")

donne:

[1] -3.078397

ce qui est assez proche (est-il exactement -3 si le poids est d'environ 7,445 mais nous ne mesurons presque jamais le poids avec ce degré de précision).

WHZ (P/T) n'inclut pas de limite d'âge. Il est considéré comme étant un avantage que le P/T ne soit pas utilisé (car il n'est souvent pas précis). Nous tenons compte de l'âge indirectement en utilisant la longueur plutôt que la taille chez les enfants âgés de moins de deux ans ou de taille inférieure à 87 cm (un proxy pour deux ans). Cela peut être à l'origine de l'écart que vous signalez.

Si je spécifie la position standing = 1 (c'est-à-dire la position debout) comme dans :

> getWGSR (sexe = 1, première partie = 7,2, deuxième partie = 73,5, index = "wfh", standing = 1)

qui donne:

[1] -3,26919

Je pense que c'est votre "-3,27".

Si vous utilisez zscorer et ne spécifiez pas de valeur «standing», les règles de hauteur (et d'âge) s'appliquent. Vous pouvez voir ces règles si vous tapez '(getWSGR)' pour imprimer la définition de la fonction.

Le "0.7" est une correction qui tient compte de la compression de la colonne vertébrale en position debout. Vous pouvez le faire avant d'utiliser getWGSR () ou addWGRS () pour faire correspondre la table DRC ou utiliser le paramètre «standing» (debout).

Vous pouvez réécrire la fonction getWGSR () pour qu'elle corresponde aux résultats donnés dans la table DRC. Ce ne serait pas difficile à faire.

J'espère que cela pourra vous être utile.

Cazes Cécile

Utilisateur régulier

25 mai 2020, 11:33

merci beaucoup pour votre réponse.

Je voudrais sûre de bien comprendre comment est conçus la table RDC.

Selon mes recherches, il s'agit de la table OMS des garçons mais j'ai remarqué que les valeurs correspondent soit à des enfants de - 24 mois (mesure couché) ou à des enfants de + 24 mois (mesure debout).

Si je comprends bien votre réponse, vous voulez dire que la table RDC correspond à la table OMS des garçons avec une correction systépmatique effectuée sur la taille : + 0,7 cm par rapport à la taille réelle ? est-ce bien cela?

donc je devrai appliquer l'argument : index = wfh height = height + 0.7 cm systématiquement pour avoir les valeurs de la table RDC?

merci pour votre aide

Mark Myatt

Consultamt Epidemiologist

Utilisateur fréquent

25 mai 2020, 12:21

Le tableau de l'OMS pour les enfants plus jeunes (c'est-à-dire <2 ans) concerne généralement le rapport poids / taille (c'est-à-dire les enfants mesurés allongés). Il existe des tables de poids pour la taille pour les enfants de tous âges (capables de se tenir debout). Lorsque vous mesurez un enfant allongé, la longueur est supérieure à la hauteur. Avant le WGS, nous avions l'habitude de supposer que la différence était de 0,5 cm et d'ajuster la longueur de -0,5 cm pour estimer la hauteur afin de travailler avec des tables de poids pour la taille. Depuis WGS, nous utilisons 0,7 cm. Il s'agit de la différence de taille médiane de référence pour les enfants de deux ans dans les tableaux L / A (M = 87,8 cm; F = 86,4 cm) et H / A (M = 87,1 cm; F = 85,7 cm).

Je ne sais pas comment les tables DRC ont été faites. Je doute qu'ils aient utilisé une population de référence distincte des données collectées localement. Je suppose qu'ils viennent de rejoindre la table P / L (enfants <2 ans) et la table P / H (enfants> = 2 ans) ensemble a été faite avec l'ancienne référence NCHS. Vous pouvez demander conseil à votre cluster nutrition local. Les gens du projet SMART pourraient le savoir. Quelqu'un sur EN-NET pourrait le savoir.

Vous devez prendre soin du signe de l'ajustement. Si l'enfant a été mesuré allongé, soustrayez 0,7 cm pour utiliser la table P / H pour obtenir P/T (WHZ) et ne faites rien pour utiliser la table P / L pour obtenir le WLZ. Si l'enfant a été mesuré en position verticale, ajoutez 0,7 cm pour utiliser la table P / L pour obtenir WLZ et ne faites rien pour utiliser la table P / H pour obtenir WHZ. Cela vous esmble-t-il logique ? Ce type de comportement est codé dans les règles de taille / âge de la fonction gettWGSR () dans zscorer.

J'espère que cela vous sera utile.

Cazes Cécile

Utilisateur régulier

25 mai 2020, 14:34

encore Merci pour vos indications, je vais appliquer vos consignes.

Une dernière question, auriez-vous une référence bibiologrpahiques au sujet de la correction 0,7 cm?

encore merci à vous

Mark Myatt

Consultamt Epidemiologist

Utilisateur fréquent

25 mai 2020, 15:02

Le manuel OMS / UNICEF:

RECOMMANDATIONS POUR LA COLLECTE, L'ANALYSE ET LES RAPPORTS DE DONNÉES SUR
INDICATEURS ANTHROPOMÉTRIQUES CHEZ LES ENFANTS DE MOINS DE 5 ANS

qui est disponible ici nous dit :

Précisez toujours soigneusement si la longueur en position couchée ou la hauteur debout a été mesurée. Si un enfant est âgé de 2 ans ou plus et ne peut pas se tenir debout, mesurez la taille allongée de l'enfant et notez-la dans le questionnaire (dans la question sur la position de mesure); de même, si un enfant a moins de 2 ans et est mesuré debout, cela doit également être noté dans le questionnaire. Dans les deux cas, expliquez pourquoi cet enfant n'a pas été mesuré dans la position appropriée à son âge. Dans de tels cas, un ajustement sera nécessaire dans la phase d'analyse des données avant de calculer les z-scores basés sur les normes de croissance de l'enfant de l'OMS ( 0,7 cm doit être ajouté à la hauteur debout pour le convertir en longueur allongée pour les enfants âgés de moins de 2 ans, et 0,7 cm soustrait de la longueur allongée pour le convertir en taille debout pour les enfants âgés de 2 ans ou plus). Cet ajustement est effectué automatiquement par le logiciel dans l'approche d'analyse standard (voir Chapitre 3 sur l'analyse des données).

à la page 41 (voir également le tableau 9). Cette procédure de correction est présente dans les scripts WHO pour R et STATA et dans la fonction xscorer getWGSR ().

J'espère que cela vous sera utile.

Cazes Cécile

Utilisateur régulier

26 mai 2020, 11:50

Rebonjour,

Après vérification, j'ai toujours le même problème de valeurs discordantes entre la table de l'OMS pour la table garçon WFL (0-2ans, 45 à 110 cm) et la valeur du WFL calculée par le package.

Tous les enfants ci-dessous sont âgés de moins de 24 mois avec une prise de mesure de la taille en position couchée. La table OMS garçon WFL indique un wfl z-score strictement égale à -3; ces enfants sont classés non sévères.

Par contre, la variable calculée avec zscorer indique un wfl z-score <-3 ; ces enfants sont dans la classe des sévères . J'ai trouvé le même résultat en utilisant les packages R anthro et igrowup.

Avec zscorer:

getWGSR(sex = 1, firstPart = 7.2, secondPart = 73.5, index = "wfl", standing = "2")
[1] -3.078397

getWGSR(sex = 1, firstPart = 6.8, secondPart = 71.1, index = "wfl", standing = "2")
[1] -3.073756


getWGSR(sex = 1, firstPart = 5.7, secondPart = 65.0, index = "wfl", standing = "2")
[1] -3.078341

getWGSR(sex = 1, firstPart = 5.3, secondPart = 63.2, index = "wfl", standing = "2")
[1] -3.199316

getWGSR(sex = 1, firstPart = 5.4, secondPart = 63.5, index = "wfl", standing = "2")
[1] -3.10421 

Mark Myatt

Consultamt Epidemiologist

Utilisateur fréquent

26 mai 2020, 12:48

Je suppose que vous voulez dire "longueur" et non pas "taille".

Je pense que vous dites que votre exemple de poids et de hauteurs devrait donner un P/T = -3 mais, en réalité, donne un P/T un peu en dessous de -3.

En regardant votre premier exemple (homme, poids = 7,2, longueur = 73,5) en utilisant le tableau de l'OMS :

https://www.who.int/childgrowth/standards/WFL_boys_0_2_zscores.pdf?ua=1

affiche 7,2 dans la colonne -3 d'écart type pour une hauteur = 73,5. Si nous utilisons les valeurs LMS, nous obtenons:

z = (((7.2 / 9.1927) ^ - 0,3521) - 1) / (- 0,3521 * 0,08276) = -3,082965

cela devrait être ajusté. Voir page 203 de:

WHO Multicentre Growth Reference Study Group. WHO Child Growth Standards: Length/height-for-age, weight-for-age, weight-for-length, weight-for-height and body mass index-for-age: Methods and development. Geneva: World Health Organization, 2006

Il s'agit de la procédure utilisée dans anthro, igrowup, zscorer et d'autres logiciels ainsi que pour la production de tables de recherche de l'OMS.

Après ajustement, nous obtenons un z score P/T = -3.078397.

Il me semble qu'une erreur d'arrondi s'est glissée dans les tableaux de l'OMS et DRC. En jouant avec les valeurs (modification du poids, maintien de la hauteur et recalcul du WHZ), j'obtiens:

getWGSR (sex = 1, firstPart = 7.2455, secondPart = 73.5, index = "wfl", standing = "2")
[1] -3,000095

Ce 7.2455 kg est très proche de WHZ = -3 mais nous ne mesurons jamais à ce degré de précision ... 100 g de précision est à peu près le meilleur que nous puissions faire avec les balances suspendues à ressort de type Salter. Si nous arrondissons une précision de 7,2455 kg à 100 g, nous obtenons 7,2 kg.

Je pense depuis longtemps dans ce forum que P/T est trop compliqué et sujet aux erreurs. Je pense que c'est une grande partie de ce que nous voyons ici. Je pense que nous pouvons accepter une petite erreur que nous ne pouvons pas éviter et rester raisonnable. Une différence est le z-score de c. 0,08 semble peu inquiétante. Il semble qu'il est très délicat de décider ou non de traiter les enfants très minces.

Cazes Cécile

Utilisateur régulier

26 mai 2020, 14:42

je m'excuse de la confusion sur le terme "taille" qui vient de la traduction du français/anglais je pense  (un seul mot en français).

Vos explications sont d'une grande aide, je vous en remercie beaucoup.

j'avais cette hypothèse sur des arrondis de taille ou de poids mais je n'aurais pas été capable de les confirmer comme vous l'avez fait. merci beaucoup.

certains enfants sont classés dans la colonne -3 SD alors qu'ils sont sévères et échappent à un traitement par RUTF c'est bien dommage.  Dans le cas précis de ces 5 enfants, le PB était compris entre 115 et 122 donc des enfants à risque de mortalité élevé qui échappe au traitement par RUTF selon le protocole national.

merci pour votre aide.

Mark Myatt

Consultamt Epidemiologist

Utilisateur fréquent

27 mai 2020, 11:45

Je suis content d'avoir pu être utile.

Je suis intéressé par les protocoles "combinés" qui traitent les cas de MAS et de MAM dans les programmes de type PCMA, les cas de MAM recevant un protocole de traitement basé sur les ATPE plus court et moins intensif. Ces programmes ont tendance à utiliser le MUAC (PB) pour décider de l'admission et des enfants avec MUAC ( PB) entre 115 mm et 122 mm devraient être admis.

Si vous rencontrez des problèmes pour poster une réponse, veuillez contacter le modérateur à post@en-net.org.

Retour en haut de page

» Afficher une réponse