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 :

fonction scale_x_log10 du package ggplot2


Sujet :

R

  1. #1
    Membre averti
    Femme Profil pro
    ingénieur d'étude en bioinformatique
    Inscrit en
    Février 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur d'étude en bioinformatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2011
    Messages : 45
    Par défaut fonction scale_x_log10 du package ggplot2
    Bonjour, j'ai un problème avec la fonction scale_x_log10 du package ggplot2 de R.

    Je vous explique mon problème.
    J'ai deux variables (cov2_reduction et dnase_leaf) dont je voudrais faire un plot (j'utilise geom_point() pour afficher mes données).
    Je voudrais afficher les log10 des données plutôt que les données elles-mêmes pour plus de lisibilité.

    J'arrive à les afficher avec le code suivant.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p<- ggplot(data,aes(x=log(dnase_leaf,10),y=log(cov2_reduction,10))) +geom_point(alpha=1/2.5,color="red") + xlab("DHS") + ylab("Reduction") + ggtitle("Reduction VS DNAse hypersensitivity")

    Mon problème arrive quand je veux afficher sur les axes, les échelles de données réelles, et non les valeurs en log10, avec scale_x(ou y)_log10().

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p + scale_y_log10(breaks=c(0.16,0.25,0.5,1,1.5,2,2.5)) + scale_x_log10()
    Pour une des variables (cov2_reduction en y) tout se passe bien, en revanche pour dnase_leaf (en x), j'ai un message d'erreur qui enlève en fait toutes mes données dont le log10 est inférieur à 0.


    Messages d'avis :
    1: In scale$trans$trans(x) : production de NaN
    2: Removed 1541 rows containing missing values (geom_point).

    Ma question est plutôt simple : y a-t-il un moyen d'afficher ces 1541 valeurs ?

    Si je n'ai pas été clair, n'hésitez-pas à me poser des questions.

    Merci pour votre aide !

    Laura

  2. #2
    Membre averti
    Femme Profil pro
    ingénieur d'étude en bioinformatique
    Inscrit en
    Février 2011
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur d'étude en bioinformatique
    Secteur : Service public

    Informations forums :
    Inscription : Février 2011
    Messages : 45
    Par défaut
    Rebonjour,

    J'ai trouvé la solution toute seule... J'aurais dû attendre avant de poser la question.
    Du coup, je vous partage la solution, cela pourra peut être aider quelqu'un par la suite :

    Le nouveau code sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    p<- ggplot(data,aes(x=density,y=cov2_reduction)) + 
    geom_point(alpha=1/2.5,color="red") +
    xlab("Density (sites/1kb)") + ylab("Reduction") + ggtitle("Reduction VS Density") + 
    coord_trans(x="log10",y="log10")
    En fait, il faut faire le graphique avec les valeurs réelles et ensuite appliquer une modification des axes. Comme cela, les données ne sont pas transformées et aucun problème avec des valeurs négatives !

    A bientôt !

    Laura

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

Discussions similaires

  1. Fonction plsda du package carret
    Par joyeux_lapin13 dans le forum R
    Réponses: 1
    Dernier message: 07/09/2010, 22h29
  2. Réponses: 2
    Dernier message: 07/06/2010, 15h08
  3. Appeler une fonction dans un package depuis SQL
    Par Stefan C dans le forum SQL
    Réponses: 2
    Dernier message: 19/06/2009, 17h14
  4. Réponses: 1
    Dernier message: 21/01/2007, 11h42
  5. Réponses: 1
    Dernier message: 02/08/2006, 17h37

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