Explication du langage de programmation R

R est un langage de programmation open source et un environnement logiciel pour le calcul statistique et les graphiques. C'est l'un des principaux langages utilisés par les data scientists et les statisticiens. Il est soutenu par la R Foundation for Statistical Computing et une grande communauté de développeurs open source. Étant donné que R utilise une interface de ligne de commande, il peut y avoir une courbe d'apprentissage abrupte pour certaines personnes habituées à utiliser des programmes axés sur l'interface graphique tels que SPSS et SAS, de sorte que les extensions de R telles que RStudio peuvent être très bénéfiques. Étant donné que R est un programme open source et disponible gratuitement, il peut y avoir une grande attraction pour les universitaires dont l'accès aux programmes statistiques est réglementé par leur association à divers collèges ou universités.

Installation

La première chose dont vous avez besoin pour démarrer avec R est de le télécharger depuis son site officiel en fonction de votre système d'exploitation.

Outils et packages R populaires

  • RStudio est un environnement de développement intégré (IDE) pour R. Il comprend une console, un éditeur de coloration syntaxique qui prend en charge l'exécution directe de code, ainsi que des outils de traçage, d'historique, de débogage et de gestion de l'espace de travail.
  • Le réseau complet d'archives R (CRAN) est une source leader d'outils et de ressources R.
  • Tidyverse est une collection avisée de packages R conçus pour la science des données comme ggplot2, dplyr, readr, tidyr, ronronnement, tibble.
  • data.table est une implémentation de base data.frameaxée sur des performances améliorées et une syntaxe concise et flexible.
  • Cadre brillant pour créer des applications Web de style tableau de bord dans R.

Types de données dans R

Vecteur

Il s'agit d'une séquence d'éléments de données du même type de base. Par exemple:

> o  p  q  o;p;q [1] 1.0 2.0 5.3 6.0 -2.0 4.0 [1] "one" "two" "three" "four" "five" "six" [1] TRUE TRUE FALSE TRUE FALSE

Matrice

Il s'agit d'un ensemble de données rectangulaire bidimensionnel. Les composants d'une matrice doivent également être du même type de base que le vecteur. Par exemple:

> m = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE) > m >[,1] [,2] [,3] [1,] "a" "a" "b" [2,] "c" "b" "a"

Trame de données

Elle est plus générale qu'une matrice, dans la mesure où différentes colonnes peuvent avoir différents types de données de base. Par exemple:

> d  e  f  mydata  names(mydata)  mydata

Listes

C'est un objet R qui peut contenir de nombreux types d'éléments différents à l'intérieur comme des vecteurs, des fonctions et même une autre liste à l'intérieur. Par exemple:

> list1  list1 [[1]] [1] 2 5 3 [[2]] [1] 21.3 [[3]] function (x) .Primitive("sin")

Fonctions dans R

Une fonction vous permet de définir un bloc de code réutilisable qui peut être exécuté plusieurs fois dans votre programme.

Les fonctions peuvent être nommées et appelées à plusieurs reprises ou peuvent être exécutées de manière anonyme sur place (similaire aux fonctions lambda en python).

Développer une compréhension complète des fonctions R nécessite une compréhension des environnements. Les environnements sont simplement un moyen de gérer les objets. Un exemple d'environnements en action est que vous pouvez utiliser un nom de variable redondant dans une fonction, qui ne sera pas affecté si le runtime plus grand a déjà la même variable. De plus, si une fonction appelle une variable non définie dans la fonction, elle vérifiera l'environnement de niveau supérieur pour cette variable.

Syntaxe

Dans R, une définition de fonction présente les caractéristiques suivantes:

  1. Le mot clé function
  2. un nom de fonction
  3. paramètres d'entrée (facultatif)
  4. un bloc de code à exécuter
  5. une déclaration de retour (facultatif)
# a function with no parameters or returned values sayHello() = function(){ "Hello!" } sayHello() # calls the function, 'Hello!' is printed to the console # a function with a parameter helloWithName = function(name){ paste0("Hello, ", name, "!") } helloWithName("Ada") # calls the function, 'Hello, Ada!' is printed to the console # a function with multiple parameters with a return statement multiply = function(val1, val2){ val1 * val2 } multiply(3, 5) # prints 15 to the console

Les fonctions sont des blocs de code qui peuvent être réutilisés simplement en appelant la fonction. Cela permet une réutilisation simple et élégante du code sans réécrire explicitement des sections de code. Cela rend le code à la fois plus lisible, facilite le débogage et limite les erreurs de frappe.

Les fonctions dans R sont créées à l'aide du functionmot - clé, avec un nom de fonction et des paramètres de fonction entre parenthèses.

La return()fonction peut être utilisée par la fonction pour renvoyer une valeur et est généralement utilisée pour forcer l'arrêt anticipé d'une fonction avec une valeur renvoyée. Sinon, la fonction renvoie la valeur finale imprimée.

# return a value explicitly or simply by printing sum = function(a, b){ c = a + b return(c) } sum = function(a, b){ a + b } result = sum(1, 2) # result = 3

Vous pouvez également définir des valeurs par défaut pour les paramètres, que R utilisera lorsqu'une variable n'est pas spécifiée lors de l'appel de fonction.

sum = function(a, b = 3){ a + b } result = sum(a = 1) # result = 4

Vous pouvez également transmettre les paramètres dans l'ordre souhaité, en utilisant le nom du paramètre.

result = sum(b=2, a=2) # result = 4

R peut également accepter des paramètres optionnels supplémentaires avec «…»

sum = function(a, b, ...){ a + b + ... } sum(1, 2, 3) #returns 6

Les fonctions peuvent également être exécutées de manière anonyme. Celles-ci sont très utiles en combinaison avec la famille de fonctions «appliquer».

# loop through 1, 2, 3 - add 1 to each sapply(1:3, function(i){ i + 1 })

Remarques

Si une définition de fonction comprend des arguments sans valeurs par défaut spécifiées, les valeurs de ces valeurs doivent être incluses.

sum = function(a, b = 3){ a + b } sum(b = 2) # Error in sum(b = 2) : argument "a" is missing, with no default

Les variables définies dans une fonction n'existent que dans la portée de cette fonction, mais vérifieront un environnement plus large si la variable n'est pas spécifiée

double = function(a){ a * 2 } double(x) # Error in double(x) : object 'x' not found double = function(){ a * 2 } a = 3 double() # 6

Fonctions intégrées dans R

  • R est livré avec de nombreuses fonctions que vous pouvez utiliser pour effectuer des tâches sophistiquées telles que l'échantillonnage aléatoire.
  • Par exemple, vous pouvez arrondir un nombre avec le round()ou calculer sa factorielle avec le factorial().
> round(4.147) [1] 4 > factorial(3) [1] 6 > round(mean(1:6)) [1] 4
  • Les données que vous transmettez à la fonction sont appelées l'argument de la fonction.
  • You can simulate a roll of the die with R’s sample()function. The sample() function takes two arguments:a vector named x and a number named size. For example:
> sample(x = 1:4, size = 2) [] 4 2 > sample(x = die, size = 1) [] 3 >dice dice [1] 2 4 >sum(dice) [1] 6
  • If you’re not sure which names to use with a function, you can look up the function’s arguments with args.
> args(round) [1] function(x, digits=0)

Objects in R

R allows to save the data by storing it inside an R object.

What’s an object?

It is just a name that you can use to call up stored data. For example, you can save data into an object like a or b.

> a  a [1] 5

How to create an Object in R?

  1. To create an R object, choose a name and then use the less-than symbol, <, followed by a minus sign, -, to save data into it. This combination looks like an arrow, <-. R will make an object, give it your name, and store in it whatever follows the arrow.
  2. When you ask R what’s in a, it tells you on the next line. For example:
> die  die [1] 1 2 3 4 5 6
  1. You can name an object in R almost anything you want, but there are a few rules. First, a name cannot start with a number. Second, a name cannot use some special symbols, like ^, !, $, @, +, -, /, or *:
  2. R also understands capitalization (or is case-sensitive), so name and Name will refer to different objects.
  3. You can see which object names you have already used with the function ls().

More Information:

  • Learn R programming language basics in just 2 hours with this free course on statistical programming
  • An introduction to web scraping using R
  • An introduction to aggregates in R: a powerful tool for playing with data