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 :

Changer la méthode d'affectation "<-"


Sujet :

R

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Changer la méthode d'affectation "<-"
    Bonjour,

    J'ai une fonction "[" pour permettre de faire (x est un objet "birch" avec plusieurs attributs) qui permet d'aller chercher une partie de l'objet.

    La méthode fonctionne bien. Mon problème est que j'aimerais que l'appel suivant:
    soit équivalent à J'ai essayé de faire cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "<-.birch" <- function(x) {
         return(x[])
    }
    mais ça ne fonctionne pas. Lorsque je fais l'affectation, le programme ne passe pas par cette méthode.

    Qu'est-ce qu'il manque pour que cela fonctionne?

  2. #2
    Modératrice

    Femme Profil pro
    Statisticienne, Fondatrice de la société DACTA
    Inscrit en
    Juin 2010
    Messages
    893
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Statisticienne, Fondatrice de la société DACTA

    Informations forums :
    Inscription : Juin 2010
    Messages : 893
    Points : 2 673
    Points
    2 673
    Par défaut
    Bonjour,

    Peut-être que quelqu'un pourra vous apporter plus d'aide mais en ce qui me concerne, je ne comprends pas bien ce que vous souhaitez faire exactement...
    Que signifie :

    Citation Envoyé par d_r_e_a_m1 Voir le message
    x est un objet "birch" avec plusieurs attributs
    Pourriez-vous donner un exemple de ce qu'est / ce que contient votre objet x?


    Cordialement,

    A.D.

    Forum R
    Fournir le code utilisé (pensez aux balises code !), les packages nécessaires, ainsi qu'un court mais représentatif extrait du jeu de données et les éventuels messages d'erreur.
    Recherche d'informations concernant R : RSiteSearch / tutoriels : http://r.developpez.com/cours/ .

    Pensez également au bouton "Résolu" et à voter (en bas à droite des messages) lorsque vous avez obtenu une réponse satisfaisante.

  3. #3
    Membre expert
    Avatar de pitipoisson
    Homme Profil pro
    Chercheur
    Inscrit en
    Septembre 2006
    Messages
    1 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 942
    Points : 3 378
    Points
    3 378
    Par défaut
    Bonjour,

    C'est manifestement une méthode que tu cherches à redéfinir. Je te conseille de jeter un œil au très bon petit manuel de S4 de Christophe Genolini, sur la rubrique R (tutos).

    Juste comme piste non vérifiée, ça pourrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    setMethod(f="<-",
              signature="birch",
              definition=function()...)
    Sauf que ceci devrait t'imposer d'utiliser les mêmes arguments que la fonction "habituelle" (si j'ai bien compris) et
    Et j'ai un sérieux doute sur le fait que, même si tu y parviens, cette redéfinition fasse ce que tu souhaites. Tu devrais lire également la section 7.2 sur les "Les setteurs" pour plus d'info.

    Enfin, je ne sais absolument pas d'où sortent ces objets "birch", si la librairie qui les définit est en S3, S4 ou autre... ni quelle influence ça peut avoir sur la redéfinition.

    Bref, ce ne sont là que des pistes.
    Forum LaTeX : pour des réponses rapides et appropriées, pensez à poster un
    ECM = Exemple (reproduit le problème) Complet (document compilable) Minimal (ne postez pas votre thèse !)

    Une solution vous convient ? N'oubliez pas le tag


    )><))))°>

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par A. D. Voir le message
    Pourriez-vous donner un exemple de ce qu'est / ce que contient votre objet x?

    A.D.
    Il s'agit d'une liste qui contient un pointeur et quelques attributs (des moyennes et des sommes).

    Ainsi, les méthodes proposées dans la documentation sur S4 ne s'appliquent pas ici car je n'ai pas "officiellement" de classe birch.

    J'ai facilement pu redéfinir la méthode .[ en utilisant la notation suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[.birch" <- function(...){}
    et je suis surprise que cette approche ne fonctionne pas avec "<-" .

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