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 :

Bonne utilisation de "parse", "eval", etc


Sujet :

R

  1. #1
    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 : 36
    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 Bonne utilisation de "parse", "eval", etc
    Bonjour à tous,

    J'ai besoin d'utiliser les fonctions de type "parse", "eval", etc, afin d'accéder aux différents éléments d'une liste au sein d'une boucle.
    Comme un exemple vaut mieux qu'un long discours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    L<-list(V1=1:5,V2=8:10,V3=c("a","b","c"))
    L
    $V1
    [1] 1 2 3 4 5
     
    $V2
    [1]  8  9 10
     
    $V3
    [1] "a" "b" "c"
     
     
    ## exemple qui ne tourne pas ##
     
    for(k in 1:3)
    {
    	pp<-paste("L$V",k,sep="")
    	Z<-eval(parse(pp))
    	print(Z)
    }
     
     
    ## erreur rencontrée ##
     
    pp<-paste("L$V",1,sep="")
    pp
    [1] "L$V1"
     
    Z<-eval(parse(pp))
     
    Error in file(file, "r") : cannot open the connection
    In addition: Warning message:
    In file(file, "r") : cannot open file 'L$V1': No such file or directory
    Bien sûr, je sais que je pourrais accéder aux éléments de ma liste avec des "L[[k]]", mais ce n'est pas ce que je recherche ici.

    J'ai l'impression que le problème vient peut-être du fait que les éléments de ma liste L ne sont pas stockés dans l'environnement global, mais je ne maîtrise pas bien la gestion des environnements.
    Mon problème est peut- être trivial, mais je vous remercie par avance pour toute aide


    Cordialement,

    A.D.

  2. #2
    Membre averti
    Femme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Points : 417
    Points
    417
    Par défaut
    Bonjour,

    je ne sais pas si cela répond à votre question mais avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Z <- eval(parse(text=pp))
    j'obtiens:Est-ce que cela correspond à ce que vous vouliez?

    Bonne journée

  3. #3
    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 : 36
    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
    Oh oui, merci beaucoup !

    C'était si "simple", dire que j'ai cherché pendant un bon moment... Merci encore

    Bonne journée !


    Cordialement,

    A.D.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/05/2008, 23h26

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