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 :

interprétation chaîne de caractères


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 210
    Par défaut interprétation chaîne de caractères
    Bonjour,

    Débutant en R, je souhaiterais savoir s'il y a moyen de transformer une chaine de caractère du type "x == 'B' " en variable logique ?

    Plus précisément, je souhaiterais écrire une fonction

    f(data,variable,condition= "variable.s== 'B' ")

    qui ait un comportement différent en fonction du contenu de la variable variable.s ("B" ou autre).

    Merci

  2. #2
    Membre émérite

    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
    Billets dans le blog
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval(parse(text="x=='B'"))

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 210
    Par défaut Récupération d'un nom d'objet
    Merci ! J'avais fini par trouver ma réponse sur le site


    Maintenant, je bute sur un autre problème (encore un peu de style métadonnées) : je veux pouvoir utiliser le nom de ma table (data) qui est en paramètre de ma fonction.

  4. #4
    Membre chevronné
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Par défaut
    Citation Envoyé par jlp65 Voir le message
    Maintenant, je bute sur un autre problèmes (encore un peu de style métadonnées) : je veux pouvoir utiliser le nom de ma table (data) qui est en paramètre de ma fonction.
    Salut,

    Je crois que tout le monde est un peu passé par ce genre de prise de tête à force de pratiquer un peu R donc je te donne les deux fonctions qui vont tout régler :

    Créé une variable qui aura pour nom le string en entrée.
    avec x un string et value ce que tu lui assignes
    Exemple :
    Je fais une fonction avec "kikoo" en string en entrée et je veux creer une variable du même nom qui vaut 2 : assign("kikoo", 2) revient à faire kikoo<-2.


    Renvoie la valeur de la variable dont le nom est le string en entrée
    avec un x un string
    Exemple:
    Je veux recupérer la valeur de kikoo sauf que j'ai juste le nom de la variable en string : get("kikoo") correspond à kikoo

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 210
    Par défaut
    Merci Sengar pour ces indications,

    Je pense que le deuxième code se rapproche le plus de ce que je souhaiterais faire ... sauf que get permet, à partir du nom de la table, de récupérer le contenu alors que ce que j'aimerais faire c'est, à partir de ma table, obtenir son nom : une fonction qui ressemblerait à cette spécification :

    fonction nom(ma_table data.frame) renvoyant un string

    Je ne sais pas si c'est possible ??

  6. #6
    Membre chevronné
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Par défaut
    Citation Envoyé par jlp65 Voir le message
    Merci Sengar pour ces indications,

    fonction nom(ma_table data.frame) renvoyant un string

    Je ne sais pas si c'est possible ??
    C'est forcément possible puisque les noms des objets R d'un environnement sont stockés en tant que string.

    Maintenant je t'avoue que je ne sais pas comment faire proprement, même si le problème est tout bête

    Bon j'y arrive quand même via une manip un peu tirée par les cheveux mais je te la donne quand même c'est mieux que rien:

    Si ton data.frame (ou n'importe quel objet) s'appelle data:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    > tampon<-data
    > rm(data)
    > l1<-ls()
    > data<-tampon
    > l2<-ls()
    > setdiff(l2,l1)
     
    [1] "data"
    J'avoue c'est moche même si ca marche, peut être quelqu'un trouvera quelque chose de plus élégant ^^

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

Discussions similaires

  1. Interprétation de chaîne de caractère
    Par Contrec dans le forum C#
    Réponses: 4
    Dernier message: 05/02/2014, 19h27
  2. Interpréter une formule saisie sous forme de chaîne de caractères
    Par Pozzo dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 29/05/2013, 09h30
  3. Réponses: 4
    Dernier message: 03/05/2010, 14h11
  4. Réponses: 0
    Dernier message: 27/08/2009, 16h18
  5. Convertir chaîne de caractères en code interprété
    Par theworst dans le forum PL/SQL
    Réponses: 27
    Dernier message: 03/03/2009, 17h34

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