IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

[R Studio] @source n'apprait pas dans NAMESPACE à la création d'un package


Sujet :

R

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut [R Studio] @source n'apprait pas dans NAMESPACE à la création d'un package
    Bonjour à tous,

    je développe depuis pas mal de temps sous R et je viens de découvrir R Studio qui est un logiciel vraiment pratique. Je tente de créer mon premier package pour le diffuser mais j'ai des gros soucis avec le fichier NAMESPACE.

    Voilà le code de mon fichier de base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #' Interface graphique pour traiter les donnees benthos
    #' 
    #' @import tcltk
    #' @source ('scripts/r_benthica2.r')
    #' @source ('libTcl/tcl_benthica.r')
    #' @export
     
    benthicaGUI <- function() {
      openMainWindow()
    }
    J'utilise le package tcltk pour faire l'interface graphique (d'ailleurs si quelqu'un en connait un meilleur, je suis preneur). J'importe via @source tous mes scripts R créés.

    Voilà le fichier NAMESPACE créer automatiquement par le package roxygen2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    # Generated by roxygen2 (4.0.2): do not edit by hand
     
    export(benthicaGUI)
    import(tcltk)
    J'ai deux soucis :
    1. malgré la ligne "import(tcltk)" au lancement de mon code, j'ai un message d'erreur qui me dit que les commandes que j'utilise sont inconnues. Je règle ce problème en faisant un appel de la librairie manuellement.
    2. L'appel de mes sources n'apparait pas...

    J'ai trouvé pas mal de tuto sur la création de pckages mais rien sur les problèmes que je rencontre.

    Avez vous une idée ????

    Merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut
    Bonjour,

    je vais poser ma question différemment car je n'ai pas eu de réponse. Je souhaite appeler mes sources dans le fichier NAMESPACE, quelle commande dois-je utiliser ? Je suppose que c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    source(repertoire/fichier.R)
    mais cela ne fonctionne pas...

    Merci de votre aide...

  3. #3
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 155
    Points
    1 155
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Pour appeler tes sources, c'est bien

    source(repertoire/fichier.R)
    Après je ne sais plus où tu te trouves dans l'arborescence de R. Cela peut poser des difficultés si le chemin est relatif. De plus il faut mettre un double slash parfois entre le code Linux et le code Windows.

    J’espère t'avoir aidé.

    Cordialement.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut
    Merci pour ta réponse. C'est que j'ai du mal à comprendre c'est que mon code fonctionne parfaitement mais quand je commence à vouloir le mettre en package, j'ai plein de bugs.

    Pour le chemin, je ne suis pas sûr que l'on puisse le mettre en absolu dans le package ????

    Merci de vos retours,

  5. #5
    Membre éclairé

    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2007
    Messages : 214
    Points : 816
    Points
    816
    Par défaut
    Bonjour,

    Sous réserve que cela n'ai pas changé récemment

    Le fichier NAMESPACE est là pour préciser la portée des fonctions, leur visibilité. De toi vers les autres et des autres vers toi :
    1/ quelles seront les fonctions de ton package qui seront utilisables par les autres (par les utilisateurs de ton package) et quelles sont celles qui sont réservées à un usage interne ?
    2/ quelles sont les fonctions en provenance d'autres packages dont ton package a besoin ?

    Le NAMESPACE n'est pas là pour "sourcer" les fichiers.

    L'appel des sources est à placer dans le DESCRIPTION, plus précisément dans le champ "Collate".

    Pour ce qui est de spécifier un chemin particulier, je ne pense pas que cela soit possible. Tes fichiers R doivent être dans le répertoire /R/, point barre.

    Christophe

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut
    Bonjour Christophe et un grand merci pour ta réponse.

    Si je résume mes contraintes : j'ai besoin d'appeler un package extérieur qui est "tcltk" et différentes sources perso mais je n'ai rien besoin de visible en extérieur.

    Donc dans mon fichier NAMESPACE, je ne précise rien de particulier...

    Dans mon fichier DESCRIPTION, je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ....
    Depends : tcltk
    Collate : source1.r, source2.r...
    ....
    Je vais tester ca et je reviens...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut
    Bonjour à tous,

    j'avance pas à pas mais je galère toujours autant

    J'ai effectivement appelé mes sources dans le fichier DESCRIPTION mais quand je lance la création du package avec la bibliothèque roxygen2 conseillée avec R Studio, mes sources sont supprimées.

    J'ai appelé mes sources dans mes première lignes du code qui doivent servir pour roxygen2 et cela semble fonctionner.

    Par contre j'ai une dizaine de fichiers sources en R qui sont appelés via deux principaux. Dans mon code de départ, je n'appelle que les deux premiers fichiers qui appellent tous les autres. Ici, si je fais ca, la création du package plante et me dit que mes fichiers R ne sont pas trouvés...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #' Blabla...
    #' 
    #' @import tcltk
    #' @export
    #' @source (r_benthica.r, tcl_benthica.r)
     
    benthicaGUI <- function() {
      openMainWindow()
    }
    Est ce que qq'un a une idée pour m'aider à avancer ???

    MERCI d'avance,

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 99
    Points : 62
    Points
    62
    Par défaut
    Bonne nouvelle, je viens de réussir...

    Si certains sont intéressés, je peux peut-être expliqué ce que j'ai fait dans un tutoriel. Dites moi si ca peut être utile.

    Merci à tous,

Discussions similaires

  1. Pourquoi open source ne "fonctionne" pas dans le jeux video
    Par micka132 dans le forum Développement 2D, 3D et Jeux
    Réponses: 37
    Dernier message: 20/05/2013, 20h31
  2. Ecrire dans l'observateur d'évènement quand la source n'existe pas
    Par Tristan Zwingelstein dans le forum Framework .NET
    Réponses: 4
    Dernier message: 02/09/2010, 11h27
  3. Réponses: 8
    Dernier message: 06/08/2010, 16h04
  4. Réponses: 4
    Dernier message: 11/05/2009, 10h28
  5. Réponses: 15
    Dernier message: 23/01/2007, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo