ggplot21 2 3 4
1 2 3 4
R est un langage de programmation utilisé pour l’analyse de données, la manipulation de données, la statistique et la création de graphiques.
1 2 3 4
C’est un logiciel open source et gratuit qui a une grande communauté d’utilisateurs et de développeurs. Le langage évolue, chaque version contient des innovations.
1 2 3 4
RStudio est un environnement de développement intégré (EDI) spécifiquement conçu pour travailler avec R, soit :
RStudio nécessite que R soit installé.
Le polyptyque : quatre volets par défaut, contenant chacun un ou plusieurs onglets
1 2 3 4
Visualiser les résultats de commandes (aide, graphiques) et naviguer.
Stockage des objets avec leur nom et valeur. Historique
Saisie des commandes
Le polyptyque : quatre volets par défaut, contenant chacun un ou plusieurs onglets
1 2 3 4
Visualiser les résultats de commandes (aide, graphiques) et naviguer.
Stockage des objets avec leur nom et valeur. Historique
Saisie des commandes
1 2 3 4
Mettez vous à l’aise : personnaliser votre Rstudio
1 2 3 4
1 2 3 4
1 2 3 4
Il faut attribuer un nom et une valeur à l’aide d’un signe d’assignation tel que <-, -> ou =.
Important
Un nom d’objet ne peut commencer par un nombre, ni contenir certains caractères spéciaux, dont :,^,-,+,/,\,*,<,>,,,!,@,%,&, $, ~, (, ), [,],{, }, et ;.
Pour résumer seul le point est autorisé.
1 2 3 4
La création d’un objet ne donne pas lieu à l’affichage d’un résultat dans la console. Pour afficher la valeur d’un objet créé, il suffit d’éxécuter la commande qui contient son nom. Dans certains cas, et pour être certain que l’affichage se fasse, on exécute la commande print() :
Astuce
taper sur Ctrl+Entrée pour exécuter une/des ligne.s de code
1 2 3 4
Comme dans tous les langages, nous avons accès aux opérateurs mathématiques classiques, comme présenté ci-dessous.
[1] -2
[1] 3
[1] -1
[1] 2
[1] 0.5
[1] 3.5
[1] 5
1 2 3 4
Nous avons aussi accès à des fonctions telles que valeur absolue (abs()), logarithme (log()) et exponentielle (exp()), et toutes les fonctions trigonométrique (avec cos(), sin(), …).
1 2 3 4
De la même manière, les opérateurs classiques de comparaison sont disponibles, comme présentés ci-dessous.
1 2 3 4
On dispose aussi de l’opérateur %in% qui test si chaque valeur du premier vecteur est présent dans le deuxième vecteur. Il renvoie donc un vecteur de booléen (TRUE/FALSE) indiquant si la valeur est dans le deuxième vecteur ou non.
1 2 3 4
1 2 3 4
install.packages().1 2 3 4
Comme nous le verrons plus tard, R manipule différents types de données, mais le premier à voir est le type vector (ensemble indexé de valeurs de même type).
1 2 3 4
Les vecteurs les plus simples à créer sont les séquences de nombres.
[1] 1 2 3 4 5
[1] 1 2 3 4 5
[1] 5 4 3 2 1
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
[1] 5 3 1
1 2 3 4
Si on veut combiner des valeurs qui ne constituent pas une séquence, il est possible de créer un vecteur avec la fonction c(). Celle-ci prend toutes les valeurs en paramètres (sans limite spécifique) pour les mettre dans un même vector. Si ceux-ci sont de types différents (par exemple, numérique et caractère), elle transforme les valeurs numériques en chaînes de caractères.
#Exemple des champs géographiques (départements de France)
#IDF
champ_idf = c('75', 77,78, 91:95)
champ_idf[1] "75" "77" "78" "91" "92" "93" "94" "95"
#FR
champ_fr = sapply(c(01:19,21:95), function(x) paste0(paste(rep(0,2-nchar(x)),
collapse = ""),x))
champ_fr = c(champ_fr,"2A","2B")
champ_fr [1] "01" "02" "03" "04" "05" "06" "07" "08" "09" "10" "11" "12" "13" "14" "15"
[16] "16" "17" "18" "19" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31"
[31] "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46"
[46] "47" "48" "49" "50" "51" "52" "53" "54" "55" "56" "57" "58" "59" "60" "61"
[61] "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76"
[76] "77" "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" "90" "91"
[91] "92" "93" "94" "95" "2A" "2B"
1 2 3 4
Dans l’exemple des champs géographiques, j’utilise la fonction rep(vec, nb) qui permet de créer un vecteur répétant un certain nombre de valeurs indiqué dans nb. Si on veut répéter chaque valeur directement, on doit utiliser le paramètre each = (cf 3ème exemple). Et on peut combiner les deux écritures pour répéter chaque valeur 3 fois, et le vecteur ainsi créé deux fois (4ème exemple).
1 2 3 4
Dans l’exemple des champs géographiques, j’utilise également la fonction paste(). Pour concaténer deux chaînes (i.e. les regrouper en une seule), nous avons à disposition la fonction paste() (et une version pré-paramétrée paste0()). Cette fonction prend en paramètres des vecteurs de chaînes pour les concaténer. Si les valeurs ne sont pas des chaînes, elles sont autoamtiquement tranformées.
[1] "bon jour"
[1] "bon-jour"
[1] "bonjour"
[1] "bonjour"
[1] "bonjour" "bonsoir"
[1] "x=1" "y=2" "x=3" "y=4" "x=5"
[1] "1,2,3,4,5"
1 2 3 4
c(), seq(), paste(), rep()1 2 3 4
1 2 3 4
rm(list=ls()) & rm(list=ls(pattern="..."))#gc()1 2 3 4
1 2 3 4
data.frame() permet de créer un dataframe ex-nihilo, avec quelques règles :
1 2 3 4
Nom <- c("Magneto","Storm","Batman","Joker","Catwoman","Hellboy")
Type <- c("mechant","gentil","gentil","mechant","mechant","gentil")
Role <- c("mutant","mutante","heros",0,"heroine","heros")
Création <- c(1963, 1975, 1940, 1940, TRUE, 1994)
Superheros <- data.frame(Nom, Type, Role, Création,
stringsAsFactors=FALSE)Le paramètre stringsAsFactors est présent dans plusieurs fonctions de création de table et permet de déterminer si les chaînes de caractères doivent être traitées comme des facteurs ou comme des chaînes de caractères simples pour chaque colonne concernée. À partir de la version 4 de R, la valeur par défaut de ce paramètre est désormais FALSE.
1 2 3 4
La fonction read.table() est une fonction de base en R qui permet de lire des fichiers texte avec des espaces comme séparateurs. Elle peut également lire à partir d’une chaîne de caractères, ce qui rend le code plus lisible :
Cependant, il est rare d’avoir à créer des dataframes de cette manière. Habituellement les données se trouvent dans des fichiers externes que l’on importe dans R.
1 2 3 4