Mais elles ne semblent pas être beaucoup différentes ; jusqu'à ce qu'elles poussent!
Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que...
Transcript of Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que...
![Page 1: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/1.jpg)
Evelyne Fournier Registre des tumeurs du Doubs et du Territoire de Belfort
AcaDM
25-26 juin 2014
![Page 2: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/2.jpg)
Organisation Préambule : macros locales Commandes répétées
Présentation des principales commandes WHILE FORVALUES FOREACH FOR
Boucles se servant de ce qui a déjà été calculé : return list (commandes classe(r)) ou ereturn list (estimations) Boucles à travers les modalités d'une variable : levelsof
2
![Page 3: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/3.jpg)
Macro locale Macro = boite dans laquelle on stocke des informations que l'on utilisera
ultérieurement Macro locale :
créée dans un fichier ".do" ou ".ado" n'existe que dans le programme dans lequel elle est définie Si lancée
manuellement, cesse d'exister dès la fin de la commande Quand on les appelle, Stata ne fait que remplacer leur nom par le texte
qu'elles contiennent avant d'exécuter la commande
Quelques exemples plus concrets…
3
![Page 4: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/4.jpg)
Macro locales 1 * macro locale=un nom local malocale ma_macro *Affichage : display "Ma macro locale contient l(es) éléments suivant(s) : `malocale'" Ma macro locale contient l(es) éléments suivant(s) : ma_macro * macro locale=une chaine de caractères local machaine "ma chaîne de caractères" *Affichage : display "Ma macro locale contient l(es) éléments suivant(s) : `machaine'" Ma macro locale contient l(es) éléments suivant(s) : ma chaîne de caractères *macro locale=un nombre local i 1
4
![Page 5: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/5.jpg)
Macro locales 2
local X123 "X1 X2 X3" // local X123 X1 X2 X3
display "Ma macro locale contient l(es) éléments suivant(s) : `X123'"
Ma macro locale contient l(es) éléments suivant(s) : X1 X2 X3
Application
5
![Page 6: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/6.jpg)
Macro locales 3 – qdv.dta variable name type format label variable label identifiant int %8.0g suivi byte %8.0g Temps de suivi clage byte %9.0g clage Classe age niv_etude byte %10.0g niv_etude Niveau etude statutm byte %9.0g statutm Statut marital residence byte %11.0g residence Lieu de résidence attit byte %8.0g Attidude-perspectives spitzer float %9.0g gh float %9.0g Global health pf float %9.0g Physical rf float %9.0g Role ef float %9.0g Emotional cf float %9.0g Cognitif sf float %9.0g Social functioning fa float %9.0g Fatigue na float %9.0g Nausea pa float %9.0g Pain dy float %9.0g Dyspnea ins float %9.0g Insomnia a float %9.0g Appetite Loss co float %9.0g Constipation dia float %9.0g Diarrhea fi float %9.0g Financial difficulties
Dimensions fonctionnelles
Symptômes
6
![Page 7: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/7.jpg)
Macro locales 4 – qdv.dta
statutm: (statut marital) 1 Celib 2 Marié 3 Veuf 4 Divorc residence: 1 Domicile 2 Enfant 3 Institution
suivi : va de 0 à 3 (0=T0 1=T3 2=T6 3=T12 mois clage: (classe age) 0 [65-74] 75 [75+] niv_etude: (niveau études) 1 Primaire 2 Secondaire 3 Supérieur 99 NR 7
![Page 8: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/8.jpg)
Macro locales 5
use qdv.dta
local functional "gh pf rf ef cf sf"
local symptom "fa pa na a dy co dia fi"
bysort suivi : regress spitzer `functional'
bysort suivi : regress spitzer `symptom'
Attention : présence de guillemets d'ouverture " ` " et de fermeture " ' "
8
![Page 9: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/9.jpg)
bysort suivi : regress spitzer `functional' suivi = 0 Source | SS df MS Number of obs = 25 -------------+------------------------------ F( 6, 18) = 2.67 Model | 46.5989309 6 7.76648849 Prob > F = 0.0495 Residual | 52.3610691 18 2.90894828 R-squared = 0.4709 -------------+------------------------------ Adj R-squared = 0.2945 Total | 98.96 24 4.12333333 Root MSE = 1.7056 ------------------------------------------------------------------------------ spitzer | Coef. Std. Err. t P>|t| [95% Conf. Interval] -------------+---------------------------------------------------------------- gh | -.0732396 .0232031 -3.16 0.005 -.1219876 -.0244916 pf | -.0219994 .0379852 -0.58 0.570 -.1018033 .0578045 rf | .0041672 .0205688 0.20 0.842 -.0390462 .0473805 ef | .0060237 .0295375 0.20 0.841 -.0560323 .0680797 cf | .0352406 .0228835 1.54 0.141 -.0128358 .083317 sf | -.0034751 .025649 -0.14 0.894 -.0573615 .0504114 _cons | 9.45252 2.092727 4.52 0.000 5.055864 13.84918 ------------------------------------------------------------------------------ suivi = 1
Macro locales 6
9
![Page 10: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/10.jpg)
Macro locales 7 Attention au signe égal local x 2+2 di `x' 4 di "`x'" 2+2 local x=2+2 di `x' 4 di "`x'" 4
10
![Page 11: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/11.jpg)
Intérêt des boucles
var1 var2 var3 var4 var5 var6 var7 var8 var9 var… varjmodalité 1modalité 2modalité 3modalité 4modalité 5modalité 6modalité 7modalité 8modalité 9modalité …modalité n
Répéter une même action sur plusieurs variables
Répéter une même action pour plusieurs modalités d'une variable
action = data-management ou analyses statistiques ou graphiques etc 11
![Page 12: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/12.jpg)
Commandes répétées
Présentation des principales commandes WHILE FORVALUES FOREACH FOR
Boucles se servant de ce qui a déjà été calculé : return list (commandes classe(r)) ou ereturn list (estimations)
Boucles à travers les modalités d'une variable : levelsof
12
![Page 13: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/13.jpg)
Commande WHILE Tombée en désuétude au profit des commandes foreach et
forevalues
local i=1
while `i' <=10 {
display "le numéro i est " `i'
local i=`i'+1
}
Ecrire l'accolade à la fin de la ligne contenant le While Ne rien écrire à droite de l'accolade
Ne rien écrire à droite de l'accolade L'accolade doit apparaitre sur une ligne individuelle
Dans ce cas précis il faut incrémenter la macro i dans la boucle
13
![Page 14: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/14.jpg)
Commande WHILE while `i' <=10 { 2. display "le numéro i est " `i' 3. local i=`i'+1 4. } le numéro i est 1 le numéro i est 2 le numéro i est 3 le numéro i est 4 le numéro i est 5 le numéro i est 6 le numéro i est 7 le numéro i est 8 le numéro i est 9 le numéro i est 10
14
![Page 15: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/15.jpg)
Commande FORVALUES Parcours une plage de nombre et exécute une ou plusieurs
commandes pour chacun d'eux
forvalues i=1/5 : de 1 à 5 avec un pas de 1 forvalues i = 1(1)5 : de 1 à 5 avec un pas de 1 forvalues i = 5(20)85 : de 5 à 85 avec un pas de 20 forvalues i = 10(-2)1 : de 10 à 1 avec un pas de -2
forvalues i=1/5 { gen var_`i'=var^`i' }
15
![Page 16: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/16.jpg)
Exemple FORVALUES Fichier d'exemple pmsi.dta
storage display value variable name type format label variable label ------------------------------------------------------------------------------ num_patient str1 %9s diagdim str7 %9s Diagnostic Hospit DIM datedim str8 %9s Date entrée DIM diagreg1 str3 %9s Diagnostic 1 datediag1 str8 %9s Date de diagnostic 1 diagreg2 str6 %9s Diagnostic 2 datediag2 str8 %9s Date de diagnostic 2 diagreg3 str6 %9s Diagnostic 3 datediag3 str8 %9s Date de diagnostic 3 diagreg4 str6 %9s Diagnostic 4 datediag4 str8 %9s Date de diagnostic 4
16
![Page 17: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/17.jpg)
Exemple FORVALUES
Exemple : Convertir les dates diagnostics registre en format date %d
à l'aide de la commande forvalues
17
![Page 18: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/18.jpg)
Exemple FORVALUES Convertir les dates en format date
* 4 diagnostics max registre boucle sur les 1 à 4 dates de diagnostics registre forval i=1/4 { gen adiag`i'=substr(datediag`i',1,4) // année d'entrée REGISTRE gen mdiag`i'=substr(datediag`i',5,2) // mois d'entrée REGISTRE gen jdiag`i'=substr(datediag`i',7,2) // jour d'entrée REGISTRE gen double date_diag`i'=date(jdiag`i'+"/"+mdiag`i'+"/"+adiag`i',"DMY") format date_diag`i' %d } l datediag1 date_diag1
18
![Page 19: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/19.jpg)
Exemple FORVALUES Résultat de la syntaxe
19
![Page 20: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/20.jpg)
Commande FOREACH Fait boucler sur une liste d'éléments puissantes possibilités
foreach X in maliste utilisation d'une liste arbitraire foreach X of local maliste utilisation d'une liste préalablement
définie dans une macro
foreach var in "liste de variable" { macommande impliquant ma macro `var' }
Exemple : anova à 1 facteur pour toutes les dimensions de qualité de vie (15), tous les temps (4) et toutes les caractéristiques patients (4) C’est-à-dire 15 x 4 x 4=240 analyses En 1 (ou plusieurs) boucle(s)
20
![Page 21: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/21.jpg)
Foreach - qdv.dta
statutm: 1 Celib 2 Marié 3 Veuf 4 Divorc residence: 1 Domicile 2 Enfant 3 Institution
suivi : va de 0 à 3 (0=T0 1=T3 2=T6 3=T12 mois clage: 0 [65-74] 75 [75+] niv_etude: 1 Primaire 2 Secondaire 3 Supérieur 99 NR 21
![Page 22: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/22.jpg)
Commande FOREACH – qdv.dta
forval tpssuivi=0/3 { // boucle 1
foreach domaine in gh pf rf ef cf sf-fi { // boucle 2
foreach caracteristics in clage niv_etude statutm residence { // boucle 3
di "Analyse du domaine " "`domaine'" " pour la caractéristique " "`caracteristics'" " pour le suivi " `suivi'
oneway `domaine' `caracteristics' if suivi==`tpssuivi'
} // fin boucle 3
} // fin boucle 2
} // fin boucle 1
Exemple : anova à 1 facteur pour toutes les dimensions de qualité de vie, tous les temps et toutes les caractéristiques patients
22
![Page 23: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/23.jpg)
Analyse du domaine gh pour la caractéristique clage pour le suivi 0 Analysis of Variance Source SS df MS F Prob > F ------------------------------------------------------------------------ Between groups 45.828631 1 45.828631 0.13 0.7222 Within groups 8863.63657 25 354.545463 ------------------------------------------------------------------------ Total 8909.4652 26 342.671739 Bartlett's test for equal variances: chi2(1) = 0.1299 Prob>chi2 = 0.719 Analyse du domaine gh pour la caractéristique niv_etude pour le suivi 0
Analysis of Variance Source SS df MS F Prob > F ------------------------------------------------------------------------ Between groups 537.665149 2 268.832575 0.77 0.4738 Within groups 8371.80005 24 348.825002 ------------------------------------------------------------------------ Total 8909.4652 26 342.671739 Bartlett's test for equal variances: chi2(2) = 1.3080 Prob>chi2 = 0.520 Analyse du domaine gh pour la caractéristique statutm pour le suivi 0
23
![Page 24: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/24.jpg)
Commande FOR – qdv.dta for var gh pf rf ef cf sf fa na : replace X=99 if X==.
for var niv_etude statutm residence : tab X clage -> tab niv_etude clage
| clage
niv_etude | [65-74] [75+] | Total
-----------+----------------------+----------
Primaire | 36 32 | 68
Secondaire | 16 8 | 24
Supérieur | 12 4 | 16
-----------+----------------------+----------
Total | 64 44 | 108
-> tab statutm clage
24
![Page 25: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/25.jpg)
Données stockées Stata return list : retourne des résultats stockés en mémoire
issues de commandes générales, stockés dans r() ereturn list : retourne des résultats stockés en mémoire
issues de commandes d'estimations, stockés dans e()
25
![Page 26: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/26.jpg)
Utilisation données stockées * exemple : créer des variables centrées réduites pour les 15 dimensions de qdv en utilisant les données stockées dans r() et les boucles use qdv.dta, clear sum gh, detail Global Health ------------------------------------------------------------- Percentiles Smallest 1% 16.66667 0 5% 25 16.66667 10% 33.33333 16.66667 Obs 108 25% 50 16.66667 Sum of Wgt. 108 50% 66.66666 Mean 63.88889 Largest Std. Dev. 21.52663 75% 83.33334 100 90% 91.66666 100 Variance 463.3957 95% 100 100 Skewness -.2854273 99% 100 100 Kurtosis 2.749382
26
![Page 27: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/27.jpg)
Utilisation données stockées return list
scalars:
r(N) = 108 r(sum_w) = 108 r(mean) = 63.88888827076665 r(Var) = 463.395669032029 r(sd) = 21.52662697758358 r(skewness) = -.2854273190223363 r(kurtosis) = 2.749381643946081 r(sum) = 6899.999933242798 r(min) = 0 r(max) = 100 r(p1) = 16.66666984558106 r(p5) = 25 r(p10) = 33.33332824707031 r(p25) = 50 r(p50) = 66.66665649414063 r(p75) = 83.33334350585938 r(p90) = 91.66665649414063 r(p95) = 100 r(p99) = 100
27
![Page 28: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/28.jpg)
Utilisation données stockées * Génération de variables centrées réduites cr=(xi-moy(x))/sd(x)
foreach domaine in gh pf rf ef cf sf fa na pa dy ins a co dia fi {
quietly sum `domaine' , detail
gen cr_`domaine'=(`domaine' - r(mean))/r(sd)
}
ou
foreach domaine in gh pf rf ef cf sf fa na pa dy ins a co dia fi {
quietly sum `domaine' , detail
gen cr_`domaine'=(`domaine' - `r(mean)')/`r(sd)'
}
28
![Page 29: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/29.jpg)
Utilisation données stockées use prenom.dta, clear
29
![Page 30: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/30.jpg)
Comparaison des prénoms : on veut savoir si l'un des prénoms d'une liste est contenu dans l'un des prénoms de l'autre liste
split les prénoms et comparaison 2 à 2 des prénoms mais combien de prénoms dans une variable et combien de prénoms dans l'autre ?
use prenom.dta, clear split(prenom_reg), p(" ") variables created as string: prenom_reg1 prenom_reg2 prenom_reg3 prenom_reg4 return list macros: r(nvars) : "4" r(varlist) : "prenom_reg1 prenom_reg2 prenom_reg3 prenom_reg4 " local nbreg=`r(nvars)' // r(nvar) va disparaitre dès la prochaine commande sauvegarde dans macro locale nbreg
Utilisation données stockées
30
![Page 31: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/31.jpg)
split(prenom_source), p(" ") variables created as string: prenom_source1 prenom_source2 prenom_source3 prenom_source4 prenom_source5 return list macros: r(nvars) : "5" r(varlist) : " prenom_source1 prenom_source2 prenom_source3 prenom_source4 prenom_source5 " local nbsource=`r(nvars)'
Données stockées
31
![Page 32: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/32.jpg)
Données stockées Comparaison des 4 prénoms registre vs 5 prénoms source
gen comp=0 gen croist=0 forval i=1/`nbreg' { forval j=1/`nbsource' { replace comp=1 if prenom_reg`i'==prenom_source`j' /// & prenom_reg`i' !="" & prenom_source`j'!="" replace croist=`i'`j' if comp==1 & croist==0 } }
32
![Page 33: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/33.jpg)
Données stockées
Attention, pour fonctionner cette série de syntaxe doit être lancée en une seule fois car les macro locales `r(nvars)' `nbsource' `nbreg' `i' `j' ne sont gardées en mémoire que le temps de l'exécution de la syntaxe
33
![Page 34: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/34.jpg)
Levelsof Affiche une liste triée du contenu distinct d'une variable fichier de travail : incidence.dta exemple : faire des graphiques identiques pour chacune
des localisations
34
![Page 35: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/35.jpg)
Levelsoff incidence.dta loc : localisation cancéreuse clage : classe d'age incid1/2 : taux spécifique d'incidence homme/femme morta1/2 taux spécifique de mortalité homme/femme
35
![Page 36: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/36.jpg)
Levelsof incidence.dta tab loc loc | Freq. Percent Cum. --------------------------------+----------------------------------- Estomac | 18 20.00 20.00 Foie | 18 20.00 40.00 Larynx | 18 20.00 60.00 Rein | 18 20.00 80.00 Vessie | 18 20.00 100.00 --------------------------------+----------------------------------- Total | 90 100.00 levelsof loc `"Estomac"' `"Foie"' `"Larynx"' `"Rein"' `"Vessie"' return list macros: r(levels) : "`"Estomac"' `"Foie"' `"Larynx"' `"Rein"' `"Vessie"'"
36
![Page 37: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/37.jpg)
levelsof levelsof loc foreach lev in `r(levels)'{ preserve keep if loc=="`lev'" twoway (line incid1 clage, lcolor(blue) lwidth(thick)) /// (line incid2 clage, lcolor(cranberry) lwidth(thick)) /// (line morta1 clage, lcolor(blue) lwidth(thick) lpattern(dash)) /// (line morta2 clage, lcolor(cranberry) lwidth(thick) lpattern(dash)), /// title("`lev'", size(large) color(black)) /// ytitle(Taux pour 100000 personnes-années) /// ytitle(, margin(small)) ylabel(#10, ticks tlcolor(black)) /// xtitle(Classe d'âge) xtitle(, margin(medsmall)) graph save "C:\FORMATION STATA\ACADM\Loc_`lev'_1_Gr_taux_spe", replace restore }
37
![Page 38: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/38.jpg)
020
4060
8010
012
014
016
0Ta
ux p
our 1
0000
0 pe
rson
nes-
anné
es
0 20 40 60 80Classe d'âge
Incidence Homme Incidence FemmeMortalité Homme Mortalité Femme
Estomac
020
4060
8010
012
0Ta
ux p
our 1
0000
0 pe
rson
nes-
anné
es
0 20 40 60 80Classe d'âge
Incidence Homme Incidence FemmeMortalité Homme Mortalité Femme
Foie
05
1015
2025
3035
4045
Taux
pou
r 100
000
pers
onne
s-an
nées
0 20 40 60 80Classe d'âge
Incidence Homme Incidence FemmeMortalité Homme Mortalité Femme
Larynx
020
4060
8010
012
014
0Ta
ux p
our 1
0000
0 pe
rson
nes-
anné
es
0 20 40 60 80Classe d'âge
Incidence Homme Incidence FemmeMortalité Homme Mortalité Femme
Rein
050
100
150
200
250
300
Taux
pou
r 100
000
pers
onne
s-an
nées
0 20 40 60 80Classe d'âge
Incidence Homme Incidence FemmeMortalité Homme Mortalité Femme
Vessie
38
![Page 39: Evelyne Fournier Registre des tumeurs du Doubs et du ... · Quand on les appelle, Stata ne fait que remplacer leur nom par le texte qu'elles contiennent avant d'exécuter la commande](https://reader031.fdocuments.net/reader031/viewer/2022011804/5ba4d65709d3f247428b98c1/html5/thumbnails/39.jpg)
Conclusions
Boucles Gain de temps Qualité : réduction des sources d'erreurs dus
aux copier-coller
39