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


base indispensable

Comment obtenir la liste des jeux de données natifs de R ? : data()

0
dans base indispensable
- ça ne sert à rien -- c\'est interessant - (score de +1 sur 1 votes)
Loading ... Loading ...
De nombreux jeux de données sont disponibles nativement dans R. Vous pouvez les utiliser pour découvrir le logiciel, ou de nouveaux packages ! 

Pour en avoir une liste complète : 

data()


Ensuite, il vous suffit de les charger en tapant leur nom. 

data("iris")
iris
 
data("nasa")
nasa
Pas encore de commentaire, cliquez ici pour réagir.

Droplevels() ou comment se débarrasser efficacement de niveaux de facteurs inutilisés

0
dans base indispensable
- ça ne sert à rien -- c\'est interessant - (score de +2 sur 2 votes)
Loading ... Loading ...

 
 jdd <- data.frame(deslettres=letters[1:10], 
                   desnombres=seq(1:10), 
                   desfacteurs=c(rep("oui",5), rep("non", 5))) 
 
 levels(jdd$deslettres)
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j"
 # il y a 10 niveaux pour la variable qualitative "deslettres"
 
 # en filtrant sur les nombres....
 library(dplyr)
 unextrait<-filter(jdd,desnombres > 5)
 levels(unextrait$deslettres)
 [1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" 
 # ...le nouveau jeu de données garde les anciens noms de niveaux de "deslettres"
 



Pour s’en débarrasser, depuis R 2.12.0, la fonction droplevels() rend cette opération aisée…


 
 
 # ...sur tout le jeu de données :  
 droplevels(unextrait)
 summary(unextrait) 
 
 
 # ...sur une variable en particulier : 
 droplevels(unextrait$deslettres)
 summary(unextrait)
 
 # ...sur tout le jeu de données sauf celle mentionnées dans l'argument except : 
 droplevels(unextrait, except="desfacteurs")
  
  
 

Proposé par Diane.

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

Comment installer un package sur R ? : install.packages, library

0
dans base indispensable, fonctions utiles
- ça ne sert à rien -- c\'est interessant - (score de +4 sur 4 votes)
Loading ... Loading ...

La fonction install.packages() permet de télécharger des packages et de les installer sur l’ordinateur (On ne fait cela qu’une fois). La fonction library() permet ensuite de charger le package et de rendre les fonctionnalités de celui-ci disponibles (Il faut faire cela à chaque fois que l’on ouvre R).

 
install.packages("lubridate")    #On télécharge le packages "lubridate" et on l'installe
library(lubridate)                  #On charge ce package et on rend les fonctionnalités de celui-ci disponibles 
 
 

Proposé par Helene F.

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

Comment modifier le nombre de décimale dans R ? :digits

0
dans base indispensable
- ça ne sert à rien -- c\'est interessant - (score de +8 sur 8 votes)
Loading ... Loading ...
Par defaut R affiche 7 chiffres apres la virgule

 
pi
 options()$digits 
 


Vouc pouvez modifier cela soit de maniere ponctuelle soit en adaptant les options de R

 
 print(pi,digits=11) 
 options(digits=8) 
pi
 options()$digits 
 
Pas encore de commentaire, cliquez ici pour réagir.

Comment avoir la longueur d’un vecteur dans R ? : length

0
dans base indispensable
- ça ne sert à rien -- c\'est interessant - (score de +6 sur 8 votes)
Loading ... Loading ...
Pour connaitre la longueur d’un vecteur une fonction simple et indispensable : length
 
vec<-c(1,2,3)
vec2<-c(4,5,6,7,8)
length(vec) # donne 3, car vec contient 3 éléments
 length(vec2) # donne 5, car vec2 contient 5 éléments 
 

Proposé par vincent.

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

Comment utiliser apply dans R ?

1
dans base indispensable, fonctions utiles, manipulation de données, Transformation de données
- ça ne sert à rien -- c\'est interessant - (score de +3 sur 9 votes)
Loading ... Loading ...
R n’aime pas les boucles: c’est long, parfois ca plante..mais surtout c’est long :).

Une des fonctions qu’il faut absolument maîtriser est apply. Elle permet de réaliser en parallèle la même opération sur toutes les lignes/ toutes les colonnes d’une matrice ou d ‘un jeu de données.


Pour utiliser apply, il faut
  • créer une fonction qui prend en paramètre un vecteur et qui nous ressort une transformation de ce vecteur.
  • que ce vecteur soit de la forme qu’une ligne ou qu’une colonne de notre jeu de données (prendre en compte les variables quali, l’ordre des variables..)
  • lancer apply sur son jeu de données, en précisant la fonction et s’il faut le prendre en ligne ou en colonne.


 
 data(iris)
# on va fabriquer une fonction qui, pour chaque ligne, nous donnera la somme de Sepal.Length, Sepal.Width, Petal.Length et Petal.Width
 
masomme<-function(monvec){
# les vecteurs sont ici de la forme c(5.1,3.5,1.4,0.2, setosa). Un simple sum(monec) ne fonctionnerait pas à cause de setosa
return(sum(as.numeric(monvec[1:4])))# le as.numeric permet de passer outre la transformation en caractères
}
lasomme<-apply(data.frame(iris),FUN=masomme,MARGIN=1)
head(cbind(iris,lasomme))# on rajoute une colonne avec le résultat et on regarde le début du jeu de données 
 
 
 



Cette transformation restera très rapide même avec un très grand nombre de lignes

Proposé par pierre.

1 commentaire. Cliquez ici pour réagir.

Comment afficher la liste des couleurs prédéfinies dans R ? colors

0
dans base indispensable, graphique
- ça ne sert à rien -- c\'est interessant - (score de +1 sur 1 votes)
Loading ... Loading ...
Vous en avez assez d’utiliser toujours les mêmes couleurs pour vos graphiques?
R a 657 couleurs prédéfinies…

 
 
colors()
 



Proposé par Melen.

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

Comment passer des paramètres par défaut à une fonction dans R?

0
dans base indispensable, programmer avec R
- ça ne sert à rien -- c\'est interessant - (score de +7 sur 7 votes)
Loading ... Loading ...
Pour éviter de se tromper dans l’ordre où les paramètres sont passés à une fonction, il vaut mieux les nommer. Ainsi l’ordre n’importera pas. Cela permet en plus de passer une valeur par défaut.


 
 
essai<-function(par1=3, par2=20) {
print(par1)
print(par2)
}
 
essai()
 
#[1] 3
#[1] 20
 
essai(1,2)
 
#[1] 1
#[1] 2
 
essai(par1=1)
 
#[1] 1
#[1] 20
 
essai(par2=10)
 
#[1] 3
#[1] 10
 
essai(par2=10, par1=4)
 
#[1] 4
#[1] 10
 

Proposé par Marc Girondot.

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

Comment obtenir les niveaux d’une variable qualitative ? : levels

0
dans base indispensable
- ça ne sert à rien -- c\'est interessant - (pas encore de vote)
Loading ... Loading ...
 
data(iris)
levels(iris$Species) # nous donnes les 3 niveaux pris par cette variable
 

Proposé par vincent.

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

Comment concaténer des chaînes de caractères dans R ? : paste

1
dans base indispensable, programmer avec R
- ça ne sert à rien -- c\'est interessant - (score de +14 sur 16 votes)
Loading ... Loading ...
La fonction paste permet de « coller » des chaînes de caractères, cela peut être utile pour plein de chose : définir le nom d’un fichier de sortie, écrire une formule pour un modele…
 
 
a<-"coucou"
b<-"comment vas-tu?"
 
paste(a,b)
# coucou comment vas-tu?
 paste(a,b,sep="+") 
#  coucou+comment vas-tu? 
# le paramètre sep permet de définir le caractère utilisé pour concaténer les chaînes de caractères
 
 
 

Proposé par vincent.

1 commentaire. Cliquez ici pour réagir.
Formation logiciel R