J'ai un paquet avec plein de fonctions diverses (voir What to do with imperfect-but-useful functions?). Parce que les fonctions ne sont pas particulièrement liées, elles dépendent d'un tas d'autres paquets. Souvent, il n'y aura qu'une seule fonction dans le paquet entier qui utilise un autre paquet. Pourtant, si j'utilise Imports, Suggests, ou Depends dans le fichier DESCRIPTION, la liste complète des paquets sera chargée chaque fois que mon paquet est chargé, même si très peu d'entre eux sont requis par un utilisateur donné.Charger un paquet seulement si nécessaire dans le paquet R
Est-il possible de charger les dépendances uniquement lorsqu'une fonction particulière est utilisée? Je pourrais mettre un appel à library()
à l'intérieur de la fonction eux-mêmes, mais cela semble être une mauvaise pratique, car il ne dit rien au système de gestion de paquets et donc l'utilisateur peut ne pas l'avoir installé.
C'est exactement ce que je cherchais. Merci. –
+1 cette stratégie est probablement la plus appropriée pour un paquetage misc: les paquets 'Suggested 'n'ont pas besoin d'être installés pour installer votre paquet. Pour un package misc qui peut être un grand avantage. Par exemple. les utilisateurs peuvent utiliser la partie non-végétalienne du végétalien même si le ggl ne peut pas être installé sur leur machine. Seules les fonctions d'utilisation ne sont pas disponibles dans ce cas. – cbeleites
@cbeleites C'est la raison pour laquelle Jari Oksanen (développeur vegan principal) a choisi d'utiliser Suggests pour les paquets supplémentaires que nous utilisons. –