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 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 +20 sur 22 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