Erreur à l'appel du package

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Gabriel Galand
Messages : 4
Enregistré le : 18 Déc 2021, 10:57

Erreur à l'appel du package

Messagepar Gabriel Galand » 21 Jan 2022, 18:05

Bonjour à tous,
Je suis plutôt novice mais j'ai réussi à utilisé R pour faire quelque estimations en régression linéaires (OLS) avec les fonctions de base et maintenant je voudrais faire des estimations par la méthode "gmm". Il me fallait donc installer le package gmm. C'est là que les ennuis commencent...;
1. Création de ma bibliothèque par édition de .libPaths()
2. installation du package en spécifiant ma bibliothèque. Mais il l'a tout de même installé dans une BBL temporaire. Je l'ai donc copié le fichier zippé dans ma BBl, puis je l'ai dézippé
3. J'ai voulu exécuter une fonction library pour spécifier ma BBL.

Code : Tout sélectionner

 library(D:/DocData/R/BBL/gmm_1.6-6)

Mais là j'ai ramassé l'erreur

Code : Tout sélectionner

Erreur dans library(D:DocData/R/BBL/gmm_1.6 - 6) :
  'package' doit être de longueur unaire

Et évidemment si j'appelle le package, R ne le trouve pas...
Peut-être qu'il ne faut pas mettre de chemin dans library()? mais comment je fait pour qque mon packaage aille bien dans ma BBL ? Suffit-il que cette BBL soit en premier dans la liste des .libPaths() ?
?? ?
:) gabier

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Erreur à l'appel du package

Messagepar Mickael Canouil » 22 Jan 2022, 10:42

Bonjour,

je n'ai pas vraiment compris ce que vous faisiez, mais c'est clairement plus compliqué que ce que cela devrait être.
Par exemple, que veut dire "édition de .libPaths()" ?
Vous ne donnez pas le code que vous avez utilisé, ce qui n'aide pas beaucoup à cerner le problème.

Le premier argument de `library()`est le nom de l'extension à charger, pas le chemin. Voir la documentation de library (`?library`).
De manière générale, la consultation de la documentation est la première chose à faire quand on utilise un outils.

Exemple de définition manuelle de la bibliothèque :

Code : Tout sélectionner

path_to_my_library <- ""
dir.create(path_to_my_library, recursive = TRUE)
install.packages(pkgs = "gmm", lib = path_to_my_library)
library("gmm", lib.loc = path_to_my_library)


Si vous voulez avoir une bibliothèque d'extension spécifique à un projet/dossier, je vous suggère fortement de consulter {renv} (https://rstudio.github.io/renv/)

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr

Gabriel Galand
Messages : 4
Enregistré le : 18 Déc 2021, 10:57

Re: Erreur à l'appel du package

Messagepar Gabriel Galand » 22 Jan 2022, 14:44

Merci Mickael pour la réponse.

J'ai me suis inspiré des lignes de code que vous avez indiquées

Code : Tout sélectionner

 libPath<-"D:/DocData/R/BBL"
 install.packages(pkgs="gmm",lib=libPath)

Le package a été rapatrié depuis le réservoir que j'ai indiqué, mais j'ai eu l'avis suivant en fin de message

Code : Tout sélectionner

The downloaded binary packages are in
 C:\Users\gabriel\AppData\Local\Temp\RtmpK6n15W\downloaded_packages

C'est la première fois que j'installe un package, et cela me paraît curieux que la package soit installé dans ce répertoire temporaire alors que j'ai pris la peine d'indiquer un emplacement.
Et maintenant quelle est la suite ? Le package sera-t-il utilisé là ou il est et faut-il exécuter une instruction

Code : Tout sélectionner

library( "C:\Users\gabriel\AppData\Local\Temp\RtmpK6n15W\downloaded_packages"

Ou bien faut-il le récupérer, le dézipper, et le mettre dans ma BBL avec une instruction
library("D:/DocData/R/BBL"
?
Bref il me faudrait un tuto détaillé sur la gestion des packages...
Et une dernière question relative à votre dernière (forte) suggestion.
J'utilise la console R de base. Je ne sais pas ce qu'est RStudio ni ce qu'il permet. Peut-être devrais-je m'y intéresser ?
:) Gabriel

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Erreur à l'appel du package

Messagepar Mickael Canouil » 22 Jan 2022, 16:52

"downloaded" n'a rien à voir avec "installed".
Et comme je l'ai dit et montré (votre code ne correspond pas du tout), le premier argument de `library` est le nom de l'extension pas le chemin.
Je vous suggère de consulter la documentation `?library`dans le terminal R.
Un IDE (RStduio emacs+plugin, vim+plugin, VSCode+plugin) n'est qu'une aide au développement, en aucun cas une nécéssité.
Mickaël
mickael.canouil.fr | rlille.fr

Gabriel Galand
Messages : 4
Enregistré le : 18 Déc 2021, 10:57

Re: Erreur à l'appel du package

Messagepar Gabriel Galand » 24 Jan 2022, 18:18

Merci Mickael pour ta réponse et ta patience. J'ai compris maintenant les fonctions de install.packages() de library(). J'ai aussi réussi à modifier .libPaths() pour y insérer en tête ma bibliothèque perso.
Je vais donc pouvoir maintenant utiliser le package gmm

:) Gabriel


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Gabriel Terraz, Google [Bot] et 1 invité