1. Grâce à ce formulaire vous pouvez proposer une astuce ou un script sur R.
  2. Votre script doit pouvoir être lancé en l'état. Veuillez penser à :
    • inclure le chargement des "library" nécessaires
    • construire un petit jeu de données si besoin est.
    • commenter les lignes de codes pour en faciliter la compréhension.
  3. Le titre de votre script ou astuce doit être clair et explicite.
  4. Pensez à mettre votre code entre les balises [R] et [/R]; Pour cela, vous pouvez utiliser le bouton

Vous pouvez utiliser vos comptes Facebook, twitter ou google pour vous identifer (google est compatible yahoo, openID...)
L'ideal étant de vous connecter si vous avez un compte utilisateur, ou faire une demande de compte utilisateur si vous n'en avez pas encore.
Créer un compte va vous permettre de pouvoir éditer vos codes et de mettre en avant votre site internet.
Sinon vous pouvez soumettre anonymement en remplissant les champs ci-après.







Choisissez les catégories correspondantes à votre Code:

  • algorithmique
  • Analyse de survie
  • base indispensable
  • bayésien
  • configuration de R
  • exportation de données
  • fonctions utiles
  • graphique
  • importation de données
  • inférence
  • manipulation de données
  • message d'erreur
  • modélisation
  • Non classé
  • optimisation
  • planification
  • programmer avec R
  • regression linéaire
  • Test
  • tidyverse
  • Transformation de données


Votre recherche:

Comment créer un boxplot avec ggplot2 ? geom_boxplot()

0
dans graphique, tidyverse
- ça ne sert à rien -- c\'est interessant - (pas encore de vote)
Loading ... Loading ...

Les boîtes à moustaches vous plaisent, mais R base vous lasse ? Tournez-vous vers {ggplot2} !

Si vous ne savez pas encore comment créer un graphique avec {ggplot2}, nous vous invitons à visiter notre page dédiée.

Ensuite, c’est tout simple, il suffit d’utiliser le geom geom_boxplot ! À l’intérieur de votre aes, x sera votre variable de groupe, et y la variable numérique à visualiser.

  library(ggplot2)
  data("DNase")
  ggplot(DNase, aes(Run, density)) + 
  geom_boxplot()

Comment lire une boîte à moustache ?

  • - Le gros trait central indique la médiane.
  • - Les deux extrémités de la boîte les 1er et 3e quartiles — 50% des observations se trouvent donc dans la boite.
  • - Les extrémités des moustaches sont calculées avec 1.5 fois l’espace interquartile.
  • - Les points sont les valeurs aberrantes.
  • Pas encore de commentaire, cliquez ici pour réagir.

    Comment enlever les outliers d’un boxplot?

    6
    dans base indispensable
    - ça ne sert à rien -- c\'est interessant - (score de +4 sur 4 votes)
    Loading ... Loading ...
    Les boxplots mettent parfois en évidence des individus qu’on peut qualifier d’atypiques ou outliers.

    Un fois mis en évidence graphiquement on peut les repérer et si nécessaire les enlever.

     
     
    #on crée un jeu de donnée 
     
    b1<-c(0.1, 0.2,6,5,5,6,7,8,8,9,9,9,10,10,25)
     
    #on trace le boxplot
     
    boxplot(b1) #il y a 3 outliers 
     
    #on met le boxplot dans un objet box
     
    box<-boxplot(b1)
    boxplot(b1)
     
    #box$out donne les outliers
     
    #on crée des nouvelles données sans les outliers
     
    b2<-b1[-which(b1%in%box$out)]
     
    #on vérifie
     
    boxplot(b2)
     
     


    Proposé par Melen.

    Déjà 6 commentaires. Cliquez ici pour réagir.

    Comment faire une boîte à moustache avec R ?: Boxplot

    2
    dans graphique
    - ça ne sert à rien -- c\'est interessant - (score de +21 sur 23 votes)
    Loading ... Loading ...
    Vous voulez représenter vos données avec la boîte à moustache de Mr Tukey (boxplot)? Rien de plus facile avec R.

     
     
    #jeu de données fictif pour exemple
     
    a<-c(1,1,1,5,5,5,5,6,6,8,8,20,30)
    b<-c(0.5,4,5,6,6,6,6,6,7,7,7,7,8)
     
    #traçons les boxplots de base avec la fonction boxplot
     
    boxplot(a)
    boxplot(b)
     
    #on enlève les outliers, en mettant outline=FALSE
     
    boxplot(a,outline=FALSE)
    boxplot(b,outline=FALSE)
     
    #pour les mettre à l'horizontal
     
    boxplot(a,horizontal=TRUE)
    boxplot(b,horizontal=TRUE)
     
    #changer de couleur
     
    boxplot(a,border="blue")
    boxplot(b,border="purple")
     
    #nouveau jeu de données plus complexe
     
    n<-c(1,1,1,5,5,5,5,6,6,8,8,20,30,0.5,4,5,6,6,6,6,6,7,7,7,7,8,3,5,8,8,8,8,8,9,9,9,9,11,12)
    m<-c(rep('A',13),rep('B',13),rep('C',13))
     
    data<-data.frame(N=n,M=m)
     
    #on visualise le tableau ainsi créé
    data
    summary(data)
     
    #On a 13 mesures pour chaque modalité (A,B,C)
    #comment avoir les boxplots pour chaque modalité?
     
    boxplot(data$N~data$M)
     
    #on enlève les outliers 
     
    boxplot(data$N~data$M,outline=FALSE)
     
    #on change les couleurs avec l'argument border
     
    boxplot(data$N~data$M,outline=FALSE,border=c("blue","purple","green"))
     
    #on change les noms avec names: A devient mesure1, B mesure2, C mesure3
     
    boxplot(data$N~data$M,outline=FALSE, names=c("mesure1","mesure2","mesure3"))
     
    #on ajoute les légendes
     
    boxplot(data$N~data$M,xlab="légende x",ylab="légende y",main="boxplot")
     
    #on colore les boîtes avec l'argument col
     
    boxplot(data$N~data$M,outline=FALSE,col=c("blue","purple","green"))
     
     #on change la largeur des moustache avec staplewex
     
    x11()
    par(mfrow=c(2,2))
    boxplot(data$N~data$M,staplewex=1,outline=FALSE,main="1")
    boxplot(data$N~data$M,staplewex=0.5,outline=FALSE,main="0.5")
    boxplot(data$N~data$M,staplewex=2,outline=FALSE,main="2")
     
     
    #on joue sur la proximité des boîtes avec boxwex
     
    x11()
    par(mfrow=c(2,2))
    boxplot(data$N~data$M,boxwex=1,outline=FALSE,main="1")
    boxplot(data$N~data$M,boxwex=0.1,outline=FALSE,main="0.1")
    boxplot(data$N~data$M,boxwex=0.5,outline=FALSE,main="0.5")
     
     
     
     


    On peut modifier d’autres paramètres pour céer des boxplot, consultez ?boxplot pour ça!
    Amusez vous bien!

    Proposé par Melen.

    Déjà 2 commentaires. Cliquez ici pour réagir.

    Comment découper une fenetre graphique en plusieurs zones ? : mfrow

    2
    dans graphique
    - ça ne sert à rien -- c\'est interessant - (score de +2 sur 2 votes)
    Loading ... Loading ...
    l’option mfrow va definir comment découper la fenetre graphique cela permet de mettre plusieurs grpahique dans la même fenêtre.

     
     par(mfrow=c(2,2)) 
    boxplot(1:30)
     boxplot(10:30)
     boxplot(5:10)
     boxplot(1:3)
     

    Proposé par jean.

    Déjà 2 commentaires. Cliquez ici pour réagir.

    Comment sélectionner une colonne ou une ligne dans un jeu de donnée avec R ?

    0
    dans base indispensable, Transformation de données
    - ça ne sert à rien -- c\'est interessant - (score de +17 sur 21 votes)
    Loading ... Loading ...
     
    data(iris)
     
    dim(iris) # ce jeu de données contient 5 colonnes et 150 lignes
     


    Pour sélectionner une colonne ou une ligne on peut utiliser son rang ( 1er colonne, 2eme colonne…).

     
     iris[,1] #on sélectionne la colonne 1, c'est-à-dire la première colonne
     iris[,3] #on sélectionne la colonne 3
     iris[,2:3] #on sélectionne les colonnes 2 et 3
     iris[,c(5,2)] #on sélectionne les colonnes 5 et 2 dans cet ordre
     
     
     iris[1,] #on sélectionne la ligne 1
     iris[3,] #on sélectionne la ligne 3
     iris[2:3,] #on sélectionne les lignes 2 et 3
     iris[c(5,2),] #on sélectionne les lignes 5 et 2 dans cet ordre
     

    Si on ne sélectionne qu’une seule ligne ou colonne, cela ressort un object de classe vector. S’il y a au moins 2 colonnes ou 2 lignes, on reste avec un data.frame.

    On peut aussi utiliser le nom de la colonne, cette fois-ci le résultat restera un data.frame et n’est pas dépendant de la position de la colonne ou de la ligne dans le jeux de données.

     
     names(iris) # permet de voir le nom des différentes variables/colonnes
     iris["Species"] # on sélectionne la colonne "Species", il faut bien mettre des guillemets car il s'agit d'une chaine de caractères
     iris["Sepal.Length"]
     
     
     # pour les lignes
     row.names(iris) # permet d'obtenir le noms des lignes
     iris["138",]  # donne la ligne qui s'appelle "138"
     row.names(iris)[100]<-"hop"  # pour bien montrer qu'il s'agit d'une chaine de caractères
     iris["hop",]  # fonctionne
    #mais
     iris["100",] # ne donne que des NA
     
     




    Proposé par Vincent.

    Pas encore de commentaire, cliquez ici pour réagir.

    Comment faire une boucle for avec R ?

    11
    dans algorithmique, base indispensable
    - ça ne sert à rien -- c\'est interessant - (score de +43 sur 43 votes)
    Loading ... Loading ...
    for ( i in 1:10) { 
     
    print(i) 
     
    }

    Cette commande peut se traduire par :
    Pour (i allant de 1 à 10) 
     
    { affiche i}

    Il faut noter que les parenthèses () servent à définir la variable et les valeurs qu’elle va prendre successivement à chaque tour de boucle. Les accolades {} servent à délimiter les actions à effectuer pour chacune des valeurs prises par la variable.

    IMPORTANT : R n’aime pas vraiment les boucles for, il est beaucoup plus efficace d’utiliser apply. Tout particulièrement pour les très grandes et longues boucles, apply fait cela en une fraction de seconde… alors que for peut mettre plusieurs minutes, ou ne pas réussir.

    Proposé par Vincent.

    Déjà 11 commentaires. Cliquez ici pour réagir.
    Formation logiciel R