Search
Les librariries (_Packages_)

Les packages R sont une partie importante, ce sont une collection de fonctions et de données créées par des individus (chercheurs, étudiants, des geeks...etc.) Au sein de la communauté open source. Lorsque nous installons R, un ensemble de packages est déjà inclus.

Afin de savoir quels packages sont installés, il suffit de taper library()

library()

Lorsqu'on exécute une ligne de code, comme ce qu'on vient de faire avec library(), on demande à R de trouver la fonction et de l'exécuter. Habituellement, les fonctions requirent un argument, cette fonction est une exception et ne requiert aucun argument. Ainsi, il suffit de taper library sans les parenthèses.

# library

autocompletion

Dans RStudio, et dans la majorité des IDE récents, il existe une option très utile appelée autocompletion. Elle devient très utile lorsque nous nous rappelons plus comment s'écrit exactement une option ou quels en sont les arguments.

Il suffit de taper sur la touche tab

Exemple: si nous voulons écrire la fonction library(), il suffit d'écrire lib et taper sur la touche tab. RStudio nous donne plusieurs choix de fonction que sont nom commence par les trois lettres lib

lib
Error in eval(expr, envir, enclos): object 'lib' not found
Traceback:

Une fois que le mot complet est saisi, en ouvrant des parenthèses, on peut encore taper sur la touche tab afin d'avoir la liste des arguments obligatoires ou optionnels à saisir.

library()

Quels packages sont chargé dans l'environnement?

Afin de voir quels _packagers sont chargés dans l'environnement, il suffit de taper la commande search()

search()
  1. '.GlobalEnv'
  2. 'jupyter:irkernel'
  3. 'package:stats'
  4. 'package:graphics'
  5. 'package:grDevices'
  6. 'package:utils'
  7. 'package:datasets'
  8. 'package:methods'
  9. 'Autoloads'
  10. 'package:base'

Un package que nous utiliserons beaucoup au début est le _package MASS. Afin que nous soyons sûrs de l'avoir, nous l'installons à nouveau avec la commande suivante:

# install.packages("MASS")

Nous pouvons voir dans l'onglet packages dans RSudio que nous l'avons et qu'il prêt à charger. Nous procédons au chargement de ce package on le cochant ou simplement (il faut vraiment s'habituer à travailler avec les commandes dans la console) avec la commande suivante:

On peut aussi installer un package avec l’IDE (Integrated development environment ) de RStudio

# require(MASS)

Attention: R est sensible aux caractères case sensitive. Donc si j'écris:

# require(mass)

J'ai alors un message d'erreur “there is no package called ‘mass’”

L'environnement (ou le workspace)

Répertoire courant

Afin de savoir dans quel répertoire nous travaillons, on peut utiliser getwd()

getwd()
'/Users/nour/MEGA/Studies/ACT3035/AUT_2018'

On peut également voir dans l'onglet files à droite de l'écran dans RStudio le répertoire dans lequel on travaille. Pour ceux qui sont dans la version Linux, il suffit de taper pwd dans l'onglet terminal

On remarque que la fonction getwd() nous retourne une valeur de type string, on peut alors assigner cette valeur à une variable, par exemple:

dir<-getwd()
dir
'/Users/nour/MEGA/Studies/ACT3035/AUT_2018'

Changer le répertoire courant

On peut aussi changer le répertoire courant avec la fonction setwd("repertoire/sous-repertoire")

setwd('/Users/nour/MEGA/Studies/ACT3035/AUT_2018')
getwd()
'/Users/nour/MEGA/Studies/ACT3035/AUT_2018'

On retourne à notre répertoire original, on se rappelle que la variable dir contenant justement une valeur string du premier répertoire. On peut réassigner une nouvelle valeur à notre répertoire courant avec cette variable;

setwd(dir)
getwd()
'/Users/nour/MEGA/Studies/ACT3035/AUT_2018'

Toutefois, il est aussi possible de le faire via l’IDE avec Session--> Set Working Directory --> Choose Directory.
OU avec le raccourci: Ctrl+Shift+H

Lister les objets dans la mémoire

On peut avoir la liste des objets dans le répertoire courant avec la fonction ls(). Comme dans les commandes Linux dans le terminal (sans les parenthèses dans le cas de Linux)

ls()
  1. 'booleen'
  2. 'booleen2'
  3. 'dir'
  4. 'num'
  5. 'p'
  6. 'q'
  7. 'string'
  8. 'string2'
  9. 'x'
  10. 'y'
  11. 'z'

Supprimer un objets de la mémoire

Si l’on veut supprimer une variable, il suffit d'utiliser la fonction rm(variable)

rm(x)

Regardons si x est encore là?

ls()
  1. 'booleen'
  2. 'booleen2'
  3. 'dir'
  4. 'num'
  5. 'p'
  6. 'q'
  7. 'string'
  8. 'string2'
  9. 'y'
  10. 'z'

Vider complètement le workspace

Maintenant, on peut aussi vider tout le workspace avec;

rm(list=ls())

Il est aussi possible de le faire avec le "ballet" dans l'onglet Environment. Pour résumer, une fonction est simplement un appel à un script créé auparavant. Certaines fonctions nécessitent des arguments, et d'autres pas.

L'aide sur les fonctions

Lorsqu'on ne se rappelle plus ce qu’une fonction fait, on peut appeler cette fonction avec le caractère?précède le nom de la fonction. Ça nous donne la documentation sur cette fonction.

?sqrt

L’autre façon d'avoir la documentation d'une fonction c’est de simplement écrire help(nomFonction)

help(sqrt)

Si l’on ne se rappelle plus du nom exact de la fonction, on peut taper ce qu’on pense être le nom de la fonction précédée de ??

??remove

Ça nous conduit vers l'onglet help en faisant une recherche avec le mot que nous avons tapé

Le mot base:: qui précède le nom de la fonction veut dire de quel package provient cette fonction. Dans notre exemple on peut lire base::rm

La fonction example

Une autre fonction très utile example(NomFonction) qui nous donne un exemple de la fonction que nous recherchons. En plus de nous décrire les packages nécessaires (qui sont chargés).

example(sqrt)
sqrt> require(stats) # for spline

sqrt> require(graphics)

sqrt> xx <- -9:9

sqrt> plot(xx, sqrt(abs(xx)),  col = "red")

sqrt> lines(spline(xx, sqrt(abs(xx)), n=101), col = "pink")
example(exp)
exp> log(exp(3))
[1] 3

exp> log10(1e7) # = 7
[1] 7

exp> x <- 10^-(1+2*1:9)

exp> cbind(x, log(1+x), log1p(x), exp(x)-1, expm1(x))
          x                                                    
 [1,] 1e-03 9.995003e-04 9.995003e-04 1.000500e-03 1.000500e-03
 [2,] 1e-05 9.999950e-06 9.999950e-06 1.000005e-05 1.000005e-05
 [3,] 1e-07 1.000000e-07 1.000000e-07 1.000000e-07 1.000000e-07
 [4,] 1e-09 1.000000e-09 1.000000e-09 1.000000e-09 1.000000e-09
 [5,] 1e-11 1.000000e-11 1.000000e-11 1.000000e-11 1.000000e-11
 [6,] 1e-13 9.992007e-14 1.000000e-13 9.992007e-14 1.000000e-13
 [7,] 1e-15 1.110223e-15 1.000000e-15 1.110223e-15 1.000000e-15
 [8,] 1e-17 0.000000e+00 1.000000e-17 0.000000e+00 1.000000e-17
 [9,] 1e-19 0.000000e+00 1.000000e-19 0.000000e+00 1.000000e-19

Aide sur les données

Il est aussi possible d'avoir plus d'informations sur les données préchargées.

data()

Ce sont des bases de données de R qui sont disponibles par défaut

plot(cars)

On peut aussi charger des données déjà disponibles dans un package

require(MASS)
Loading required package: MASS
data(Cars93)

Une fonction très utile afin d’avoir un sommaire rapide sur les données est summary

summary(Cars93)
    Manufacturer     Model         Type      Min.Price         Price      
 Chevrolet: 8    100    : 1   Compact:16   Min.   : 6.70   Min.   : 7.40  
 Ford     : 8    190E   : 1   Large  :11   1st Qu.:10.80   1st Qu.:12.20  
 Dodge    : 6    240    : 1   Midsize:22   Median :14.70   Median :17.70  
 Mazda    : 5    300E   : 1   Small  :21   Mean   :17.13   Mean   :19.51  
 Pontiac  : 5    323    : 1   Sporty :14   3rd Qu.:20.30   3rd Qu.:23.30  
 Buick    : 4    535i   : 1   Van    : 9   Max.   :45.40   Max.   :61.90  
 (Other)  :57    (Other):87                                               
   Max.Price       MPG.city      MPG.highway                  AirBags  
 Min.   : 7.9   Min.   :15.00   Min.   :20.00   Driver & Passenger:16  
 1st Qu.:14.7   1st Qu.:18.00   1st Qu.:26.00   Driver only       :43  
 Median :19.6   Median :21.00   Median :28.00   None              :34  
 Mean   :21.9   Mean   :22.37   Mean   :29.09                          
 3rd Qu.:25.3   3rd Qu.:25.00   3rd Qu.:31.00                          
 Max.   :80.0   Max.   :46.00   Max.   :50.00                          
                                                                       
 DriveTrain  Cylinders    EngineSize      Horsepower         RPM      
 4WD  :10   3     : 3   Min.   :1.000   Min.   : 55.0   Min.   :3800  
 Front:67   4     :49   1st Qu.:1.800   1st Qu.:103.0   1st Qu.:4800  
 Rear :16   5     : 2   Median :2.400   Median :140.0   Median :5200  
            6     :31   Mean   :2.668   Mean   :143.8   Mean   :5281  
            8     : 7   3rd Qu.:3.300   3rd Qu.:170.0   3rd Qu.:5750  
            rotary: 1   Max.   :5.700   Max.   :300.0   Max.   :6500  
                                                                      
  Rev.per.mile  Man.trans.avail Fuel.tank.capacity   Passengers   
 Min.   :1320   No :32          Min.   : 9.20      Min.   :2.000  
 1st Qu.:1985   Yes:61          1st Qu.:14.50      1st Qu.:4.000  
 Median :2340                   Median :16.40      Median :5.000  
 Mean   :2332                   Mean   :16.66      Mean   :5.086  
 3rd Qu.:2565                   3rd Qu.:18.80      3rd Qu.:6.000  
 Max.   :3755                   Max.   :27.00      Max.   :8.000  
                                                                  
     Length        Wheelbase         Width        Turn.circle   
 Min.   :141.0   Min.   : 90.0   Min.   :60.00   Min.   :32.00  
 1st Qu.:174.0   1st Qu.: 98.0   1st Qu.:67.00   1st Qu.:37.00  
 Median :183.0   Median :103.0   Median :69.00   Median :39.00  
 Mean   :183.2   Mean   :103.9   Mean   :69.38   Mean   :38.96  
 3rd Qu.:192.0   3rd Qu.:110.0   3rd Qu.:72.00   3rd Qu.:41.00  
 Max.   :219.0   Max.   :119.0   Max.   :78.00   Max.   :45.00  
                                                                
 Rear.seat.room   Luggage.room       Weight         Origin              Make   
 Min.   :19.00   Min.   : 6.00   Min.   :1695   USA    :48   Acura Integra: 1  
 1st Qu.:26.00   1st Qu.:12.00   1st Qu.:2620   non-USA:45   Acura Legend : 1  
 Median :27.50   Median :14.00   Median :3040                Audi 100     : 1  
 Mean   :27.83   Mean   :13.89   Mean   :3073                Audi 90      : 1  
 3rd Qu.:30.00   3rd Qu.:15.00   3rd Qu.:3525                BMW 535i     : 1  
 Max.   :36.00   Max.   :22.00   Max.   :4105                Buick Century: 1  
 NA's   :2       NA's   :11                                  (Other)      :87  

Ça nous donne les variables trouvées dans cette base de données ainsi qu'une statistique descriptive sur chacune des variables

Min.
1st Qu.
Median
Mean
3rd Qu.
Max.
head(Cars93)
ManufacturerModelTypeMin.PricePriceMax.PriceMPG.cityMPG.highwayAirBagsDriveTrainPassengersLengthWheelbaseWidthTurn.circleRear.seat.roomLuggage.roomWeightOriginMake
Acura Integra Small 12.9 15.9 18.8 25 31 None Front 5 177 102 68 37 26.5 11 2705 non-USA Acura Integra
Acura Legend Midsize 29.2 33.9 38.7 18 25 Driver & PassengerFront 5 195 115 71 38 30.0 15 3560 non-USA Acura Legend
Audi 90 Compact 25.9 29.1 32.3 20 26 Driver only Front 5 180 102 67 37 28.0 14 3375 non-USA Audi 90
Audi 100 Midsize 30.8 37.7 44.6 19 26 Driver & Passenger Front 6 193 106 70 37 31.0 17 3405 non-USA Audi 100
BMW 535i Midsize 23.7 30.0 36.2 22 30 Driver only Rear 4 186 109 69 39 27.0 13 3640 non-USA BMW 535i
Buick Century Midsize 14.2 15.7 17.3 22 31 Driver only Front 6 189 105 69 41 28.0 16 2880 USA Buick Century

Plus de resources