Trucs pour LaTeX & R

Conseils impératifs

mercredi 19 décembre 2018 par Philippe MICHEL

Plus que de simples conseils, des règles à ne surtout pas transgresser (sauf quand c’est nécessaire).

Voir aussi la page sur comment commencer un travail.

Un travail, un dossier

R comme tout logiciel va s’ouvrir par défaut toujours dans le même répertoire. Erreur, c’est un coup à avoir des données dans tous les sens ou de commencer chaque session en effaçant tout .
Un travail, un répertoire. Avec les données brutes (les tableaux en .csv par ex), les graphiques & autres sorties (dans des sous-dossiers c’est plus clair) & les fichiers de macro etc. spécifiques de ce travail. Comme ça on termine chaque session en enregistrant son travail et on reprend tranquillement le lendemain avec toutes ses données.
RStudio gère ça très bien avec un « projet » par travail.

garder ses données ?
La question peut paraître bizarre, on ne va pas effacer tout son travail tous les soirs ? Et bien si. Mais avec un chat dans la manche : vous avez bien entendu gardé trace de votre travail dans un fichier RMarkdown ou org.mode. Et le lendemain matin vous faites tourner ce fichier & vous repartez sur une base saine. La seule limite est le très très gros travail, très long à tourner. Auquel cas on peut gardé la première phase du travail (importer les données & les mettre en forme) & ne faire tourner que les calculs secondaires

Et pour les macros qui servent tout le temps ?
Deux méthodes :

  • Méthode brute : Un fichier script.R quelque part & qu’on appelle dans le .Rprofile pour le charger à chaque démarrage :
    1. source("/home/mondossier/scripts.R")
  • Plus élégant, créer un package à usage perso ce qui est plus simple qu’on pourrait croire & surtout très bien expliqué chez thinkR

Ne pas utiliser attach

IL est vrai que c’est lourd de toujours devoir écrire monfichier$mavariable. Et un petit  > attach(monfichier) est bien tentant. Mais plus tard vous allez créer un second data.frame ne concernant qu’une partie de votre échantillon par exemple avec les mêmes variables. Et là commencent les ennuis. Ou vous allez utiliser une routine qui y perdra ses petits. Donc, désolé, on n’attache pas un data.frame.

Pour un travail simple avec un seul data.frame, n’hésitez pas, simplifiez-vous la vie !

Pour les fonctions un peu complexe à écrire il existe souvent une commande data qui permet de simplifier l’écriture. les deux écritures suivantes sont strictement équivalentes :

  1. logis1 <-  glm(fichier$sortie ~ fichier$age + fichier$sexe + fichier$pouls, family="binomial")
  2. logis1 <- glm(sortie~age + sexe + pouls, data=fichier, family="binomial")

Télécharger

Sauvegarder

Oui je sais je me répète, je suis la proie des idées fixes. Mais un ordinateur n’est qu’un machin mécanique qui peu tomber en panne ou recevoir un verre de café...

Donc on sauvegarde régulièrement, sur plusieurs supports. Je vous laisse le choix du logiciel, de la technique. Sur Mac, TimeMachine est remarquable, simple d’emploi, transparent. Pour ma part sous Linux j’utilise un script basé sur rsync.

Petite cause d’erreur : R crée deux fichiers indispensables qui s’appellent .RData et .Rhistory. Comme le point en début de nom l’indique, ce sont (sous Linux et, je crois, sous Mac) des fichiers invisibles. On peut donc les oublier lors de la sauvegarde, ça serait ballot !

Avec RStudio, n’oubliez pas de créer un projet. Toutes vos données y compris les fichiers spécifiques à R seront dedans ce qui simplifie la maintenance.

Utiliser un gestionnaire de versions

Dés que votre travail prend de l’amplitude, se complexifie, vous aurez parfois envie de tester des trucs ou, plus simplement de revenir à l’état du travail d’hier matin, avant que vous ne vous embourbiez dans ce (...censuré...) de régression de (...censuré...). Rien de plus simple avec un gestionnaire de version. Ça demande d’apprendre à s’en servir (rien de sorcier, ce n’est pas R !) et un peu de rigueur ensuite. Mais quel confort.
Il en existe plusieurs (Subversion, Mercurial, Git...). Ne connaissant que Git j’aurai du mal à vous en conseiller un.

Des tutos pour apprendre à les utiliser sur openclassroom :


Accueil | Contact | Plan du site | | Statistiques du site | Visiteurs : 98 / 130776

Suivre la vie du site fr  Suivre la vie du site R   ?    |    titre sites syndiques OPML   ?

Site réalisé avec SPIP 3.2.1 + AHUNTSIC

Creative Commons License