Présentation rapide du logiciel Epi Info® Loïc Desquilbet, PhD Département des Productions Animales et de Santé Publique Ecole Nationale Vétérinaire d’Alfort [email protected] Tutoriel Epi Info v6 Plan Où trouver Epi Info ? 3 Importer un fichier Excel dans Epi Info 5 Importer un fichier Excel « Open Office » dans Epi Info 13 Fenêtre « program editor » 17 Décrire un fichier de données Faire apparaître le fichier de données 22 Tableau de fréquences simple (pour une variable qualitative) 24 Moyennes et médianes (pour une variable quantitative) 26 Histogramme 29 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) 32 Moyennes et médianes par modalité d’une variable binaire 42 Moyennes et médianes par modalité d’une variable à > 2 classes 47 Associations statistiques stratifiées Tableau de fréquences croisées stratifié sur une variable binaire 52 Analyses statistiques dans un sous-échantillon 60 Créer des variables 64 2 Où trouver Epi Info ? Adresse web : www.cdc.gov/epiinfo/ Download pour la version 3.5.1 3 Où trouver Epi Info ? Clic sur Full Download Clic sur Download seetup.exe 4 Importer un fichier Excel dans Epi Info 5 Importer un fichier Excel dans Epi Info 1 Clic sur « Read (import) » pour importer des données 2 Le projet par défaut d’Epi Info (« sample.mdb ») doit être obligatoirement changé avant l’import d’un fichier de données 6 Importer un fichier Excel dans Epi Info 1 3 2 Puis clic sur « Ouvrir » Changer le projet = procédure obligatoire ! Clic sur « Change Project » pour créer un nouveau projet sur le disque dur, en le nommant comme on veut (ici « nouveau projet » dans le répertoire « Tutorial vidéo Epi Info ») 7 Importer un fichier Excel dans Epi Info Choisir le format de la base de données que l’on veut importer dans Epi Info : « Excel 8.0 » 8 Importer un fichier Excel dans Epi Info 2 Aller chercher le fichier Excel à importer (par exemple, « pour_tutorial.xls ») 1 9 Importer un fichier Excel dans Epi Info Sélectionner la feuille Excel du fichier de données qui contient les données à importer… 1 2 … puis clic sur « Ok » 10 Importer un fichier Excel dans Epi Info Clic sur « Ok » après avoir vérifié que la case qui dit à Epi Info que la 1ère ligne contient le nom des variables a été cochée (La première ligne de la feuille de calcul qui contient les données à importer doit être le nom des variables, sans espace) 11 Importer un fichier Excel dans Epi Info Le fichier de données a été importé, et contient 200 lignes 12 Importer un fichier Excel « Open Office » dans Epi Info 1ère étape : enregistrer le tableur sous le format txt (séparateur = tabulation) 2ème étape : importer le fichier sous Epi Info (après avoir changé le projet !) Clic sur « Read (import) » pour importer les données 1 2 Sélectionner « Text » 13 Importer un fichier Excel « Open Office » dans Epi Info 1 Sélectionner ensuite le fichier txt à importer 2 Puis « ouvrir » 3 Le fichier texte s’ouvre ⇒ le fermer 14 Importer un fichier Excel « Open Office » dans Epi Info Cliquer sur « Ok » 15 Importer un fichier Excel « Open Office » dans Epi Info 1 Sélectionner « (tab) » Puis « Ok » 2 Remarque Après l’import, les variables binaires codées en 0/1 seront codées en « No » / « Yes », mais intrinsèquement, leur valeur reste « 0 » ou « 1 » 16 Fenêtre « program editor » Présentation générale ▪ Cette fenêtre s’appelle la fenêtre « program editor » ▪ C’est dans cette fenêtre que s’écrit (ou que l’on écrit) les lignes de programme qui permettent d’exécuter toutes les commandes 17 Fenêtre « program editor » Présentation générale Remarque a Quand on exécute les commandes par « clic » (a), la ligne de programme s’écrit automatiquement (b) ⇒ très pratique pour apprendre le code d’Epi Info ! b On a donc ici la ligne de programme qui correspond à l’import du fichier Excel précédent 18 Fenêtre « program editor » Présentation générale Pour exécuter une ligne de commande déjà écrite (ou que vous venez d’écrire), placez-vous sur la ligne de programme (celle du haut si la ligne de programme tient sur plusieurs ligne, comme ici), et cliquez sur « Run This Command » 19 Fenêtre « program editor » Enregistrer le programme Clic sur « Save » permet de sauvegarder le programme, pour le relancer par la suite 1 20 Fenêtre « program editor » Enregistrer le programme 2 3 Le programme s’enregistre dans le projet créé préalablement (en tout cas, il faut le vérifier) On choisit de nommer ce programme « pgme_tutor_pwt » (le nom du programme ne doit pas contenir d’espace) 4 Clic sur « Ok » 21 Décrire un fichier de données Faire apparaître le fichier de données Clic sur « Grid » ou « Web » (si bug avec « Grid) 3 Clic sur « Ok » 2 4 1 Clic sur « List » 22 Décrire un fichier de données Faire apparaître le fichier de données Fichier de données Ligne de programme pour faire apparaître le fichier de données 23 Décrire un fichier de données Tableau de fréquences simple (pour une variable qualitative) Choix de la variable dont on veut le tableau de fréquences (ici, « race_locale ») 3 2 1 4 Clic sur « Frequencies » Puis « Ok » 24 Décrire un fichier de données Tableau de fréquences simple (pour une variable qualitative) Rappel de la commande Tableau de fréquences et des % Intervalle de confiance des % Ligne de programme qui a été écrite à la suite du clic sur « Frequencies » 25 Décrire un fichier de données Moyennes et médianes (pour une variable quantitative) Choix de la variable dont on veut la moyenne (Ici, « age ») 3 2 1 4 Clic sur « Means » Puis « Ok » 26 Décrire un fichier de données Moyennes et médianes (pour une variable quantitative) Rappel de la commande Sortie n°1 Tableau de toutes les valeurs que prend la variable « age » Ligne de programme qui a été écrite à la suite du clic sur « Means » 27 Décrire un fichier de données Moyennes et médianes (pour une variable quantitative) Sortie n°2 ▪ Moyenne de 6,0 ans (SD1 : 1,9 ans) ▪ Médiane de 5,8 ans (IQR2 : 4,7 ; 7,4) 1 SD = Standard Deviation (écart-type dans l’échantillon) 2 IQR = InterQuartile Range = 25ème et 75ème percentiles (1er et 3ème quartiles) 28 Décrire un fichier de données Histogramme Choix de « Histogram » Choix de la variable quantitative (ici, « poids ») 3 2 1 Clic sur « Graph » 29 Décrire un fichier de données Histogramme Clic sur « Ok » 5 4 Choix de la largeur des barres de l’histogramme (ici, choix d’une largeur de 40 kilos) 30 Décrire un fichier de données Histogramme En ordonnées, nombre d’individus par barre de l’histogramme 40 Largeur de barres de 40 kilos 31 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) Choix de la variable d’exposition (Ici, « race_locale ») Choix de la variable « maladie » (Ici, « tuberculose ») 4 3 2 1 Clic sur « Tables » 5 Puis « Ok » 32 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) Rappel de la commande Sortie n°1 : tableau de fréquences Pourcentages en colonne : 68% des bovins sans tuberculose sont de race locale contre 42% des bovins avec tuberculose Ligne de programme qui a été écrite à la suite du clic sur « Tables » 33 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) Sortie n°1 : tableau de fréquences Pourcentages en ligne : 23% des bovins de race locale sont atteints de tuberculose contre 46% des bovins d’autres races 34 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) Sortie n°2.a : Odds Ratios ▪ Epi Info fournit deux estimations de l’OR (elles sont quasiment identiques) ▪ MLE = maximum likelihood estimation (estimation par le maximum de vraisemblance) ▪ L’OR comparant les exposés (exposure variable = 1) aux non exposés (exposure variable = 0) sur la présence de maladie est de : 0,34 [0,18 ; 0,62]95% 35 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) Sortie n°2.b : tests statistiques ▪ Les tests comparent - 68% à 42% (% en col.) - 23% à 46% (% en ligne) ▪ Les effectifs attendus sous H0 sont tous > 5 (sinon, Epi Info vous avertit !) ⇒ On lit le test le p du Chideux non corrigé bilatéral (2-tailed) 36 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) lorsque les effectifs attendus sont < 5 ▪ Lorsqu’au moins 1 des effectifs attendus est < 5, il faut utiliser le test de Fisher (la correction de Yates n’est plus vraiment utilisée…) ▪ Dans la diapo 32, on remarque qu’Epi Info fournit le p de Fisher, mais il s’agit d’un test unilatéral !! (1-tailed) ⇒ Il faut utiliser Statcalc d’Epi Info ▪ La démarche est la suivante : 1) Utiliser la commande TABLES pour avoir les effectifs observés dans chacune des 4 cases (cf.diapo 29), et les pourcentages à comparer 2) Regarder si Epi Info dit qu’il y a au moins un des 4 effectifs attendus < 5 3) Si oui, utiliser Statcalc pour calculer le p de Fisher bilatéral, qui permettra de conclure à la différence significative ou non entre les deux pourcentages à comparer 37 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) lorsque les effectifs attendus sont < 5 Utilities -> StatCalc 38 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) lorsque les effectifs attendus sont < 5 ▪ Dans ces fenêtres DOS, la souris ne marche pas ! ▪ Il faut sélectionner les menus avec les flèches du clavier, puis taper sur « entrée » ▪ Ici, sélection de Tables (2x2, 2xn) puis « entrée » 39 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) lorsque les effectifs attendus sont < 5 ▪ Il faut rentrer chaque nombre puis appuyer sur « entrée » pour passer à la case suivante ▪ Une fois les 4 nombres rentrés, il faut taper F4 pour avoir les résultats des tests statistiques 40 Associations statistiques brutes Tableau de fréquences croisées (pour deux variables qualitatives) lorsque les effectifs attendus sont < 5 ▪ Epi Info ne fournit le test de Fisher que si au moins un des effectifs attendus est < 5 ▪ Il faut lire la valeur du p de Fisher bilatéral (2-tailed) : ici, pFisher = 0,27 ▪ Pour quitter Statcalc, taper plusieurs fois sur F10 41 Associations statistiques brutes Moyennes et médianes par modalité d’une variable binaire Choix de la variable dont on veut la moyenne (Ici, « age ») Choix de la variable « tuberculose » selon laquelle on veut les moyenne et médiane de « age » 4 3 2 1 5 Clic sur « Means » Puis « Ok » 42 Associations statistiques brutes Moyennes et médianes par modalité d’une variable binaire Rappel de la commande Sortie n°1 Tableau de toutes les valeurs que prend la variable « age » selon les modalités de « tuberculose » Ligne de programme qui a été écrite à la suite du clic sur « Means » 43 Associations statistiques brutes Moyennes et médianes par modalité d’une variable binaire Sortie n°2 ▪ Moyennes… Il y a 136 vaches qui ont « 0 » pour « tuberculose » et 64 qui ont « 1 » pour « tuberculose » Pour « tuberculose » = 0 : 5,7 ans Pour « tuberculose » = 1 : 6,7 ans ▪ Médianes… Pour « tuberculose » = 0 : 5,5 ans Pour « tuberculose » = 1 : 6,8 ans 44 Associations statistiques brutes Moyennes et médianes par modalité d’une variable binaire Sortie n°3 ▪ Test de Student Valeur du T de Student : 3,5 (a) Valeur du p : p < 0,05 (b) ⇒ Les 2 moyennes sont significativement différentes a b Sortie n°3 (suite) ▪ Test de comparaison des variances (inutile ici car les effectifs sont ≥ 30) p = 0,38 (variances non significativement inégales) 45 Associations statistiques brutes Moyennes et médianes par modalité d’une variable binaire Sortie n°4 ▪ Test de comparaison des médianes par les tests de Wilcoxon (pour variable binaire) ou Kruskal-Wallis (pour variable à > 2 classes) p < 0,05 (médianes d’âge significativement différentes entre les bovins sans tuberculose et les bovins avec tuberculose) 46 Associations statistiques brutes Moyennes et médianes par modalité d’une variable à > 2 classes Choix de la variable « region » selon laquelle on veut les moyennes et médianes de « age » Choix de la variable dont on veut la moyenne (Ici, « age ») 3 4 2 1 5 Clic sur « Means » Puis « Ok » 47 Associations statistiques brutes Moyennes et médianes par modalité d’une variable à > 2 classes Rappel de la commande Sortie n°1 Tableau de toutes les valeurs que prend la variable « age » selon les modalités de « region » 48 Associations statistiques brutes Moyennes et médianes par modalité d’une variable à > 2 classes Sortie n°2 ▪ Moyennes… - Pour « region » = 1 : 5,8 ans - Pour « region » = 2 : 6,6 ans - Pour « region » = 3 : 5,9 ans - Pour « region » = 4 : 5,8 ans ▪ Médianes… - Pour « region » = 1 : 5,8 ans - Pour « region » = 2 : 6,5 ans - Pour « region » = 3 : 5,8 ans - Pour « region » = 4 : 5,2 ans 49 Associations statistiques brutes Moyennes et médianes par modalité d’une variable à > 2 classes Sortie n°3 ▪ Test d’analyse de variance Valeur du F de Fisher : 1,85 (a) ▪ Valeur du p : p = 0,14 (b) ⇒ Les 4 moyennes ne sont pas significativement différentes a b (Le test d’analyse de variance est le test statistique qui permet de comparer > 2 moyennes) 50 Associations statistiques brutes Moyennes et médianes par modalité d’une variable à > 2 classes Sortie n°4 ▪ Test de comparaison des médianes par le test de Kruskal-Wallis p = 0,14 (médianes d’âge non significativement différentes) 51 Associations statistiques stratifiées Tableau de fréquences croisées stratifié sur une variable binaire Choix de la variable d’exposition (Ici, « race_locale ») Choix de la variable « maladie » (Ici, « tuberculose ») 4 5 3 2 1 6 Clic sur « Tables » Stratification sur « Gestation » Puis « Ok » 52 Associations statistiques stratifiées Tableau de fréquences croisées stratifié sur une variable binaire Sortie n°1 Résumé des analyses effectuées : 1) Croisement de « race_locale » par « tuberculose » parmi « gestation = 0 » 2) Croisement de « race_locale » par « tuberculose » parmi « gestation = 1 » 3) Résumé de la stratification (présentation des OR ajustés) 53 Associations statistiques stratifiées Tableau de fréquences croisées stratifié sur une variable binaire Sortie n°2 Tableau croisé pour « gestation = 0 » - Prévalence de tuberculose chez les vaches de race locale : 17% - Prévalence de tuberculose chez les vaches d’autres races : 42% 54 Associations statistiques stratifiées Tableau de fréquences croisées stratifié sur une variable binaire Sortie n°3 (a) OR avec IC95% parmi « gestation = 0 » (b)Test du Chi-2 testant les prévalences de tuberculose parmi « gestation = 0 » (cf. sortie n°2) a b 55 Associations statistiques stratifiées Tableau de fréquences croisées stratifié sur une variable binaire Sortie n°4 Tableau croisé pour « gestation = 1 » - Prévalence de tuberculose chez les vaches de race locale : 30% - Prévalence de tuberculose chez les vaches d’autres races : 50% 56 Associations statistiques stratifiées Tableau de fréquences croisées stratifié sur une variable binaire Sortie n°5 (a) OR avec IC95% parmi « gestation = 1 » (b)Test du Chi-2 testant les prévalences de tuberculose parmi « gestation = 1 » (cf. sortie n°4) a b 57 Associations statistiques stratifiées Tableau de fréquences croisées stratifié sur une variable binaire Sortie n°6 (a) OR brut avec IC95% (b)OR ajusté sur « gestation » avec IC95% a b 58 Associations statistiques stratifiées Tableau de fréquences croisées stratifié sur une variable binaire Sortie n°7 (a) Test du Chi-2 MantelHaenszel testant l’OR ajusté (⇔ ⇔ test de Wald) (b)Test du Chi-2 testant la présence d’une interaction significative (OR dans strate 1 ≠ OR dans strate 2) a b 59 Analyses statistiques dans un sous-échantillon Décrire un fichier de données parmi une sélection d’individus ▪ Objectif Fournir des statistiques descriptives (+ tests) dans un sous-échantillon de l’échantillon initial selon des critères bien précis (conditions précises) ▪ Principe Il faut demander à Epi Info de sélectionner les observations qui répondent aux conditions de sélection du sous-échantillon ▪ Syntaxe pour sélectionner les observations : SELECT condition ▪ Syntaxe pour déselectionner les observations : SELECT ▪ Utilisation des mot-clés AND et OR si la condition porte sur plusieurs variables 60 Analyses statistiques dans un sous-échantillon Décrire un fichier de données parmi une sélection d’individus ▪ Objectif Fournir des statistiques descriptives (+ tests) dans un sous-échantillon de l’échantillon initial selon des critères bien précis (conditions précises) ▪ Principe Il faut demander à Epi Info de sélectionner les observations qui répondent aux conditions de sélection du sous-échantillon ▪ Syntaxe pour sélectionner les observations : select condition ▪ Syntaxe pour déselectionner les observations : select ▪ Illustration Fournir la médiane d’âge des bovins sans tuberculose parmi les vaches de race locale hors période de gestation 61 Analyses statistiques dans un sous-échantillon Décrire un fichier de données parmi une sélection d’individus ▪ Illustration Fournir la médiane d’âge des bovins parmi les vaches de race locale hors période de gestation Médiane : 5,5 ans 62 Analyses statistiques dans un sous-échantillon Décrire un fichier de données parmi une sélection d’individus ▪ Illustration Fournir la médiane d’âge des bovins parmi les vaches de race locale hors période de gestation Retour à l’échantillon initial des 200 bovins 63 Créer des variables Commandes Epi-Info et syntaxe ▪ Commandes : define, assign, recode ▪ Syntaxe n°1 : création d’une variable sous conditio ns define new_var if condition1 then assign new_var = valeur1 end if condition2 then assign new_var = valeur2 end 64 Créer des variables Commandes Epi-Info et syntaxe ▪ Syntaxe n°2 : recodage d’une variable quantitative en une variable en classes selon des seuils de la variable quantitative define var_classes recode var_quant to var_classes lovalue-seuil1 = valeur1 seuil1-seuil2 = valeur2 seuil2-seuil3 = valeur3 …=… seuilk-hivalue = valeurp end seuil2 seuil1 valeur1 valeur2 seuil3 valeur3 var_quant valeur4 Valeurs de var_classes 65 Créer des variables Commandes Epi-Info et syntaxe ▪ Pour supprimer une variable d’un fichier de données, il faut taper : undefine variable ▪ Si une variable est déjà créée, et que l’on veut modifier son codage, il faut la supprimer avant de la redéfinir 66 Créer des variables Présentation de différents exemples ▪ On veut créer deux variables : - raceloc_sup3 : variable qui vaut « 1 » si le bovin est de race locale d’un âge supérieur ou égal à 3 ans, et « 0 » sinon (bovin d’autres races ou d’âge inférieur à 3 ans) - age_cl = variable qui vaut « 1 » si l’animal est âgé ≤ 4 ans, « 2 » si 4-6 ans, « 3 » si 6-8 ans, et « 4 » si > 8 ans 67 Créer des variables Création de raceloc_sup3 Création de age_cl 68