Une fonction Stata pour gérer les problèmes de dépendance aux packages

Contrairement aux offres grand public de plus en plus pasteurisées, les logiciels de statistiques sentent encore très fort le fromage informatique, et on n’échappe jamais réellement aux problèmes infernaux de dépendance aux libraires.

Le problème se pose notamment dans un cours que je donne, et j’ai presque réussi à éliminer le problème en installant, au premier cours et par script interposé, la totalité des packages Stata dont on se sert en classe. Mais dans les scripts hebdomadaires, je voulais garder une mention courte et lisible des dépendances pour guider le lecteur (dont les étudiants à moitié paniqués dès que “ça ne marche plus”).

Le résultat est le petit bout de code packages_required, qui scanne une liste en début de script et qui, le cas échéant, installe le package manquant. Je me demande si l’équivalent existe sous R. Le blog is.R() utilise souvent une petite boucle pour pallier aux dépendances (exemple), ce qui suggère qu’une fonction de base qui (1) vérifierait l’existence d’une librairie, (2) la téléchargerait si nécessaire, et (3) la chargerait ne doit pas exister (cf. page 46 de R Inferno).

Malheureusement, ni Stata ni R ne gèrent la dépendance au café (et aucun ne le réchauffe non plus, mais c’est probablement en développement quelque part).


Imprimer ce billet Imprimer ce billet

2 réflexions au sujet de « Une fonction Stata pour gérer les problèmes de dépendance aux packages »

  1. Ben, tu l’as ta réponse : ça n’existe pas par défaut dans R, mais c’est tellement simple que faut-il vraiment faire davantage ?

    • C’est simple quand tu as l’habitude d’être dans un enfer de dépendances, mais pas pour l’étudiant qui lance un logiciel de stats pour la première fois. Surtout, la boucle ne détermine pas par elle-même s’il y a besoin d’installer le package, ce qu’elle pourrait faire. Un compilateur se rapprocherait plus de ce que j’aimerais obtenir : un scan de beaucoup de code qui détecte les librairies à installer sur l’ensemble et propose de le faire.

Les commentaires sont fermés.