2  L’environnement

Commandes et fonction introduites
En italique, commandes externes

Sections Commandes
Menus et raccourcis db
L’éditeur de programme run do #delimit log log2do2

2.1 Les (principaux) types de fichier

  • Les bases de données: .dta [.dtas depuis la version 18 qui permet d’enregistrer un ensemble de base sous format de frames]

  • L’éditeur de programme : .do (.ado pour la programmation de commandes)

  • Le log de session : .smcl ou .log (conversion possible en .txt, .doc ou .pdf)

  • Les graphiques : .gph (+ enregistrement en format image: png, jpg, svf…)

  • Les fichiers d’aides: .sthlp

2.2 Où passer ses instructions ?

  • Dans l’éditeur de programme (.do ou .ado ou écriture d’un fichier d’aide)

  • Dans la fenêtre “Command” de l’environnement principal

  • Par les menus (ouverture d’une boîte de dialogue). On récupéré la syntaxe de l’instruction directement dans l’interface principale, et par copier-coller dans l’éditeur de programme. Plutôt pratique.

Exécution de Stata avec des interfaces externes

Il est possible d’exécuter Stata via d’autres interfaces, via par exemple le notebook jupyter (outil Python) dans un navigateur web ou avec l’IDE VScode, mais encore avec RStudio (Quarto).

Sauf exception, cette exécution externe doit être plutôt réservée à la production simultanée d’une documentation, lors de l’animation du formation ou de la présentation d’un programme lors d’une résu. En effet, avec ces outils la base n’est pas directement explorable comme dans l’interface Stata.

Un exemple d’installation et d’utilisation de ces outils avec Stata est disponible ici: [Lien]

2.3 L’interface principale

Boite output

Affiche les commandes exécutées et les résultats

Boite review

  • C’est un log de toutes les instructions passées par la fenêtre command

  • En cliquant de dessus, l’instruction est de nouveau affichée dans la fenêtre command

  • Avec un clic-droit on peut copier, supprimer les instructions. Les instructions en rouge déclarent celles avec une erreur

  • Les instructions passée par l’éditeur de programme ne sont reportée

Boite variables

  • Liste les variables présentent dans la base chargée avec éventuellement leur label

  • En cliquant dessus, là ou les variables sont affichées dans la fenêtre command

  • Avec un cliqu-droit, une ou plusieurs variables peuvent être copiées, conservées ou supprimées

Boite properties

  • Pour les variables affiche leurs propriétés: nom, label, format, type….

  • Si le cadenat est délocké, on peut modifier ces propriétés (voir variable manager). Le code qui exécute la modification est affichée dans la fenêtre command et la boîte review

2.5 L’éditeur de programme

2.5.1 Soumettre un programme ou un bloc de programme

  • On ne sélectionne aucune ligne: tout le programme est exécuté
  • On sélectionne une partie du programme: seul le bloc est exécuté

  • execute (do): les commandes et les résultats sont affichés dans l’output de l’interface principale
  • execute quietly (run): les commandes et les résultats ne sont pas affichés dans l’output de l’interface principale
do et run dans un programme

On peut exécuter un ou plusieurs programme enregistré dans un programme

do "path/nom_prog.do"  // avec affichage de l'output
run "path/nom_prog.do" // sans affichage de l'output

2.5.2 delimiter

Par défaut une ligne = une instruction (#delimit cr).

Stata ne comprend pas la deuxième ligne de:

keep  X1 X2 
      X3 X4

On peut contourner cela dans un programme pour écrire des instructions longue sur plusieurs lignes avec l’instruction #delimit ;

#delimit ;
keep  X1 X2  
      X3 X4;
      
tabulate X1;

Le délimiteur s’appliquera tant qu’on ne repasse pas à #delimit cr

#delimit ;
keep  X1 X2  
      X3 X4;
      
#delimit cr      
tabulate X1

Le délimiteur ; est sourtout utilisé pour les graphiques qui peuvent âtre assez gourmants en options (je le conseille).

La solution la plus utilisée est /// à la fin d’une ligne, à l’exception de la dernière de la commande

keep  X1 X2 /// 
      X3    /// 
      X4

tabulate X1

2.5.3 Les commentaires

Si le commentaire est sur une seule ligne

* Commentaire

Si le commentaire est sur une ligne et suit une instruction

instruction  // Commentaire 

Si le commentaire est sur plusieurs lignes

/* commentaire 1
   commentaire 2 */
Pas d’autosave des programmes…jusqu’à Stata 18

Enfin, enfin, enfin….

Depuis avril 2023 une autosave des programmes a été implémentée au logiciel. Pour faire court:

  • Penser à ce que le fichier soit déjàsauvegardé.
  • On peut paramétrer la fréquence de sauvegarde dans les préférences de l’éditeur [edit=>preference=>onglet Advanced]. Par défaut la fréquence est de 4 secondes, ce qui semble suffisant.
  • Après un crash, ou autre mésaventure, il sera proposer d’ouvrir le fichier sauvegardé automatiquement.
  • Penser également à enregistrer le programme de récupération avec le nom original.

Solution pour les version antérieures: le log de session

On peut sauver les meubles en générant un log de session en tête de programme ou mieux en générant un log à chaque ouverture de session dans un fichier profile [[marche à suivre]https://mthevenin.github.io/stata_fr/articles/index/posts/profile/profile.html)].

  • Pour générer un log de session qui enregistrera en continu l’output de l’interface, et donc les lignes de commandes exécutée (sauf si exécution en mode run):
    • file => log => begin, puis choisir un emplacement pour l’enregistrement du fichier log.
    • log using "path/nom_log.smcl"
  • Commande externe log2do2: à partir d’un fichier log, permet de conserver seulement les lignes de programmes en supprimant les éléments de l’output de types tableaux, warning et autre messages. Attention les lignes comportant des erreurs seront également conservée.
    ssc install log2do2

2.5.3.1 Interactions entre l’interface principale, les boîtes de dialogue et l’éditeur de programme

DEMONSTRATION PENDANT LA FORMATION