| 
					
				 | 
			
			
				@@ -280,12 +280,14 @@ class genererTableau (): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return en_tete 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def _generer_en_tete_detail(self, variable): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def _generer_en_tete_detail(self, variable, iqr=False, extremes=False): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Genere l'en-tête d'un tableau Descriptif 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Input : 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 axes : liste des axes d'analyse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                iqr, boolean: Si true, intègle les intervalles interquartiles 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                extremes, boolean: Si true, intègle les valeurs extrêmes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Output : None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -301,6 +303,19 @@ class genererTableau (): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ## Pour les variables quantitatives 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if type_variable == "quantitative": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             en_tete = en_tete + ["n", "mean", "std", "IC 95%"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extremes_iqr = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ("min", extremes), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ("Q25", iqr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ("median", iqr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ("Q75", iqr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ("max", extremes), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            for title, rule in extremes_iqr: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if rule: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    en_tete.append(title) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         elif type_variable == "qualitative": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             en_tete.append("n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             en_tete = en_tete + self.liste_modalites_variables[variable] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -408,13 +423,15 @@ class genererTableau (): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return(lignes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def _generer_lignes_detail(self, variable, axe = None): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def _generer_lignes_detail(self, variable, axe = None, extremes=False, iqr=False): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Genere des ligne d'analyse d'un tableau détaillé pour une variable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Input : 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 variable : nom de la variable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 axe : axe sur lesquels générer les ligne 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                iqr, boolean: Si true, intègle les intervalles interquartiles 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                extremes, boolean: Si true, intègle les valeurs extrêmes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         lignes = [] 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -428,8 +445,25 @@ class genererTableau (): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ligne.append(self._generer_str_valeur(self.data[variable]["global"]["mean"])) # Moyenne 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ligne.append(self._generer_str_valeur(self.data[variable]["global"]["std"])) # Ecart type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ligne.append(self._generer_str_ci(self.data[variable]["global"]["ci_95"])) # IC à 95% 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                extremes_iqr = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ("min", extremes), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ("Q25", iqr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ("median", iqr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ("Q75", iqr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ("max", extremes), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                for value, rule in extremes_iqr: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if rule: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ligne.append( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            self._generer_str_valeur( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                self.data[variable]["global"][value] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ligne = ligne + ["", "", ""] # Blanc technique 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 lignes.append(ligne) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 # On vérifie l'axe 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -459,7 +493,23 @@ class genererTableau (): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ligne.append(self._generer_str_valeur(donnees_axe[valeur_axe]["mean"])) # Moyenne 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ligne.append(self._generer_str_valeur(donnees_axe[valeur_axe]["std"])) # Ecart type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ligne.append(self._generer_str_ci(donnees_axe[valeur_axe]["ci_95"])) # IC à 95% 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    extremes_iqr = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ("min", extremes), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ("Q25", iqr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ("median", iqr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ("Q75", iqr), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ("max", extremes), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    for value, rule in extremes_iqr: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if rule: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ligne.append( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                self._generer_str_valeur( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    self.data[variable]["global"][value] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     ligne = ligne + ["", "", ""] # Blanc technique 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     lignes.append(ligne) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         else: 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -607,7 +657,7 @@ class genererTableau (): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return(sortie) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    def tableau_detail_variable (self, chemin, variable, axes = None, format_sortie = "csv"): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def tableau_detail_variable (self, chemin, variable, axes = None, iqr=False, extremes=False, format_sortie = "csv"): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         """ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Décrit le contenu d'une variable selon un axe ou plusieurs axes donnés. 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -617,6 +667,8 @@ class genererTableau (): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 chemin : chemin du fichier de sortie 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 variable : nom de la variable à traiter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 axes : liste des axes d'analyse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                iqr, boolean: Si True, inclus les intervalles interquartiles 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                extremes, boolean: Si True, inclus les extremes (min, max) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 format_sortie : 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     'tsv' pour un tableau séparé par une tabulation 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     'csv' pour un tableau séparé par une virgule 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -635,14 +687,14 @@ class genererTableau (): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # Récupération des donnée 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # Génération de l'en-tête 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        en_tete = self._generer_en_tete_detail(variable) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        en_tete = self._generer_en_tete_detail(variable, extremes=extremes, iqr=iqr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # Création du tableau 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tableau = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tableau.append(en_tete) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # On génère la première ligne d'analyse 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        tableau = tableau + self._generer_lignes_detail(variable, None) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tableau = tableau + self._generer_lignes_detail(variable, None, extremes=extremes, iqr=iqr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # Ligne vide 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         tableau.append(["" for x in range(len(tableau[-1]))]) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -650,7 +702,7 @@ class genererTableau (): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # Ajout des axes 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if axes is not None: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for axe in axes: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                tableau = tableau + self._generer_lignes_detail(variable, axe) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                tableau = tableau + self._generer_lignes_detail(variable, axe, extremes=extremes, iqr=iqr) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         # Generation de la sortie 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sortie = self._generer_sortie(chemin, tableau, format_sortie) 
			 |