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 :

passage d'un nom de variable en paramètre dans une fonction de R


Sujet :

R

  1. #1
    Membre à l'essai
    Homme Profil pro
    Statisticien-Economiste
    Inscrit en
    Novembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Statisticien-Economiste
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2012
    Messages : 10
    Points : 16
    Points
    16
    Par défaut passage d'un nom de variable en paramètre dans une fonction de R
    Bonjour,
    j'ai un petit souci avec R quand je souhaite passer en paramètre le nom d'une variable dans une fonction de R. j'obtiens le message d'erreur suivant : Error in `geom_point()`:
    ! Problem while computing aesthetics.
    i Error occurred in the 1st layer.
    Caused by error in `round()`:
    ! argument non numérique pour une fonction mathématique


    sans la fonction round(), le programme tourne

    Voici le programme simplifié:

    #génération jeu de données

    cat <- rep(factor(c("A","B")),5)
    v1 <- runif(10,41,50)
    v2 <- runif(10,min = 11,max = 20)
    df <- as.data.frame(cbind(cat,v1,v2))
    class(df)
    str(df)

    #programme de génération de cartes en boucles
    var_nom <- c("v1","v2")

    for (i in 1:2 ) {
    dev.new()
    carto_equipt<- ggplot(data=df,aes(cat,round(var_nom[i],1)))+geom_point()

    dev.off()

    # Sauvegarde la carte en format image.
    ggsave(
    filename = paste("carte_essai_",nom[i],".png"),
    width = 297,
    height = 210,
    units = "mm",
    dpi = 400
    )

    }

    quelle solution adopter , mise à part appliquer la fonction round() en amont sur le df?

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 476
    Points : 831
    Points
    831
    Par défaut
    bonjour
    tu peux faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    carto_equipt<- ggplot(data=df,aes(cat,round(df[,var_nom[i]],1)))+geom_point()
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    carto_equipt<- ggplot(data=df,aes(cat,round(!!sym(var_nom[1]),1)))+geom_point()

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

Discussions similaires

  1. Passage d un nom de table en paramètre d'une procédure stockée
    Par Cedric33 dans le forum Développement
    Réponses: 22
    Dernier message: 10/02/2009, 16h12
  2. Passage d'une variable comme paramètre d'une fonction
    Par lowman dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/10/2007, 15h12
  3. Réponses: 6
    Dernier message: 24/07/2006, 15h22
  4. Réponses: 3
    Dernier message: 20/03/2006, 17h46
  5. Réponses: 9
    Dernier message: 13/05/2005, 03h13

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