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

  1. #1
    Membre à l'essai
    Femme Profil pro
    Agronome
    Inscrit en
    Décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agronome
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 12
    Points : 17
    Points
    17
    Par défaut Effectuer une "opération" sur deux variables X et Y pour toutes les modalités d'une variable qualitative Z
    Bonjour,

    Mon problème est le suivant :
    Je souhaite travailler sur 3 variables de mon dataframe.
    Variable 1 : Z : variable qualitative, 10 modalités.
    Variable 2 : Y : variable quantitative. Il s'agit de mesures effectuées toutes les semaines pendant une période donnée.
    Variable 3 : X : Dates à laquelle sont effectuées les mesures.

    Je souhaite représenter graphiquement, pour chaque modalité de Z, Y en fonction de X.
    Je n'arrive pas à coder la partie "pour chaque modalité de Z". J'aimerais avoir les 10 courbes sur le même graphique (avec des couleurs) ET sur des graphiques séparés.

    Pour l'instant j'ai écrit le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dataframe$Date <-as.date (Dataframe$X, "%d/%m/%Y")
    plot (Dataframe$Y ~ Dataframe$Date, main = , xlab =, ylab = )
    Merci par avance pour votre aide,
    Eva

  2. #2
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 276
    Points : 561
    Points
    561
    Par défaut
    Bonjour,

    avec la librairie ggplot2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # création d'un jeu de données 'tab'
    # pour l'exemple
    tab <- expand.grid(Z = letters[1:10], 
      X = seq(as.Date("2017-01-01"), as.Date("2017-02-28"), by = "day"))
    tab$Y <- rnorm(nrow(tab), match(tab$Z, levels(tab$Z)), 0.25)
     
    # tous les graphs sur le même
    require(ggplot2)
    ggplot(tab, aes(X, Y, group = Z, color = Z)) + geom_path()
     
    # tous les graphs dans une fenêtre différente
    ggplot(tab, aes(X, Y, group = Z, color = Z)) + geom_path() + facet_wrap(~Z)
    Si tu n'as pas besoin des mêmes échelles sur Y tu peux rajouter scales = "free_y" comme argument à la fonction facet_wrap.
    Avec les fonctions de base :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    tab2 <- reshape(tab, v.names = "Y", timevar = "Z", direction = "wide", idvar = "X")
    matplot(tab2[,1], tab2[,-1], type = "l", lty = 1, lwd = 1)
     
    # pour les graphs séparés
    par(mar = c(4.1, 2.1, 0.5, 0.5))
    layout(matrix(1:12, 3, 4, byrow = TRUE))
    for (i in levels(tab$Z)) 
      plot(Y ~ X, subset(tab, Z == i), col = match(i, levels(tab$Z)), xlab = i, type = "l")
    Si tu as besoin des mêmes échelles tu crées un vecteur avec les valeurs min et max de Y et tu rajoutes comme argument a la fonction plot, ylim = ce vecteur.
    cdlt

  3. #3
    Membre à l'essai
    Femme Profil pro
    Agronome
    Inscrit en
    Décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agronome
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 12
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    Merci pour votre aide. J'ai adapté à mon Dataframe et ça fonctionne bien !

    Cependant je trouve que les graphes, quand la fenêtre est divisée, sont un peu "ratatinés".
    Est-ce qu'il existe une option pour afficher les graphes dans des fenêtres séparées et pas sur la même fenêtre quand ils sont trop nombreux ?

    Merci par avance,

  4. #4
    Membre à l'essai
    Femme Profil pro
    Agronome
    Inscrit en
    Décembre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Gers (Midi Pyrénées)

    Informations professionnelles :
    Activité : Agronome
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2017
    Messages : 12
    Points : 17
    Points
    17
    Par défaut
    Re bonjour,

    J'ai trouvé matière dans le deuxième code !
    Merci beaucoup !

    Eva

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 22/05/2015, 14h42
  2. Réponses: 11
    Dernier message: 06/05/2011, 22h55
  3. Réponses: 2
    Dernier message: 20/02/2008, 18h08

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