1. #1
    Candidat au Club
    Femme Profil pro
    Agronome
    Inscrit en
    décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : décembre 2017
    Messages : 3
    Points : 3
    Points
    3

    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 habitué
    Inscrit en
    février 2011
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : février 2011
    Messages : 63
    Points : 125
    Points
    125

    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
    Candidat au Club
    Femme Profil pro
    Agronome
    Inscrit en
    décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : décembre 2017
    Messages : 3
    Points : 3
    Points
    3

    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
    Candidat au Club
    Femme Profil pro
    Agronome
    Inscrit en
    décembre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 28
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : décembre 2017
    Messages : 3
    Points : 3
    Points
    3

    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, 15h42
  2. Réponses: 11
    Dernier message: 06/05/2011, 23h55
  3. Réponses: 2
    Dernier message: 20/02/2008, 19h08

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