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 :

transformer une chaine de caractère en formule


Sujet :

R

  1. #1
    Futur Membre du Club
    Homme Profil pro
    risk manager
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : risk manager

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 6
    Points
    6
    Par défaut transformer une chaine de caractère en formule
    Bonjour à tous,

    j'ai crée une chaine de caractères de type a<- hrmn+lum+agg ... où hrmn,lum,agg sont mes variables (noms des colonnes) , que je voudrais transformer en formule pour pouvoir l'utiliser dans mon GLM .

    j'utilise as.formula

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a<-as.formula(a,base_totapp)
    base_totapp est le data.frame dans lequel j'ai mes variables mais j'ai le message d'erreur suivant en retour :

    Error in eval(parse(text = x, keep.source = FALSE)[[1L]]) :
    object 'hrmn' not found
    Je ne comprends pas pourquoi il ne trouve pas hrmn.

    Je vous remercie pour votre aide.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Data Manager Junior
    Inscrit en
    Avril 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Data Manager Junior
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2020
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Bonjour,
    mieux vaut que tu décrive ou postule ton code afin que les autres peuvent apporter des solutions pour toi.

    a<- hrmn+lum+agg ...
    C'est probablement que erreur d'affectation du data frame cette erreur.
    Il faut que tu indique les library necessaires

    Merci

  3. #3
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Transformer une chaine de caractère en formule
    Bonjour,

    Une proposition avec le package ivmte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    df1 <- data.frame(V1=c(1,2,3), V2=c(10,10,10))
    formule <- "df1$V1 + df1$V2"
    df1$V3 <- eval(ivmte:::unstring(formule))
    df1
    #>   V1 V2 V3
    #> 1  1 10 11
    #> 2  2 10 12
    #> 3  3 10 13
     
    # Created on 2020-11-13 by the reprex package (v0.3.0.9001)
    Cordialement,

  4. #4
    Futur Membre du Club
    Homme Profil pro
    risk manager
    Inscrit en
    Octobre 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : risk manager

    Informations forums :
    Inscription : Octobre 2020
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a<-colnames(base_totapp)
    a<-a[a!="grav"]
    a<-paste(a,collapse =  "+")
    a<-eval(ivmte:::unstring(a))
    J'ai installé le package ivtme. J'ai toujours un message d'erreur du type

    Error in eval(ivmte:::unstring(a)) : object 'hrmn' not found
    Cordialement,

  5. #5
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Transformer une chaine de caractère en formule
    Bonjour,

    Il faut préfixer le nom des variables par le nom du dataframe ou utiliser une autre méthode pour indiquer où trouver les variables.

    Cordialement,

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

Discussions similaires

  1. [Toutes versions] Transformer une chaine de caractères en formule, sous Excel
    Par Jaynes dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/12/2012, 22h10
  2. Réponses: 11
    Dernier message: 04/11/2007, 21h32
  3. Réponses: 3
    Dernier message: 12/06/2006, 11h18
  4. Réponses: 2
    Dernier message: 03/10/2005, 16h23
  5. Réponses: 2
    Dernier message: 14/01/2005, 15h40

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