• Skip to main content
  • Skip to header right navigation
  • Skip to after header navigation
  • Skip to site footer
Lesjeudis

Blog Les Jeudis

Actualité Informatique et Digital

  • Annonces
    • Par région
    • Par métier
    • Par technologies
    • Par entreprise
    • Fiche métiers
  • Entreprises
  • Tests
  • News
  • Se connecter
  • Déposer CV
  • Recruteur
    • Connexion Recruteurs
    • Employeurs
    • Trouvez des CVs
    • Postez des offres
  • Categories du Blog

    • Développement
    • Réseaux et Systèmes
    • Digital
    • E-commerce
    • Marché de l’emploi
    • Conseils
    • Evénements
    • Design
    • Marketing
    • Interviews
    • —-
  • Annonces

    • Toutes nos offres d’emploi
    • par région
    • par métier
    • par technologies
    • par sociétés
    • Par Industries
    • Fiches Métiers
  • Entreprises
  • Tests
  • offres recommandées
  • Se connecter
  • Déposez CV
  • Employeurs

    • Connexion recruteurs
    • Employeurs
    • Trouvez des CVs
    • Postez des offres
  • Développement
  • Réseaux et Systèmes
  • Digital
  • E-commerce
  • Marché de l’emploi
  • Conseils
  • Evénements
  • Design
data structures en langage de programmation R

Data Structures en R

06/08/2020 by Dorian H Mekni

Data Structures en R

Intro

R est un language de programmation conçu pour le calcul mathématique, les statistiques et l’analyse de données.

En 2000, la version 1.0.0 de R fut rendu accessible à l’utilisation du public. Sa syntaxe très proche du S et S-PLUS, les deux languages précurseurs de ‘R’.

Le language de programmation R est un language dit de science, taillé pour le calcul statistique et scientifique. Des millions de data analystes et data scientistes l’utilisent au jour le jour. Il est aussi devenu un l’outil de prédilection pour de nombreux hommes d’affaires pour analyser leurs bilans et anticiper les tendances ainsi que leur impact sur leurs strategies et positionnement commerciale.

Il est important avant de se lancer dans des analyses poussées de comprendre les data structures qui représentent le socle de R et les fondamentaux de la grammaire de ce language. Ces notions sont nécessaires à bien connaitre avant de s’aventurer dans la technicité statistique. 

Installation de l’environnement 

R s’installe à partir de ce lien (disponible par pays et par OS) : https://www.r-project.org 

R jouis de son propre environnement [IDE] qui s’appelle RStudio, que vous pouvez également télécharger gratuitement à partir de ce lien (RStudio Desktop) : https://rstudio.com/products/rstudio/download/ 

Pour devenir un Data Scientist ou Analyst et même un Business analyst, il vous faudra connaître les 5 structures de data dans lesquelles vous intègrerais vos données dans le but de les manipuler et les analyser. 

Ces cinq dernières sont les suivantes : 

  • Vectors 
  • Matrices 
  • lists
  • Factors 
  • Data Frames 

Voyons d’abord ensemble les different types de données que nous pouvons intégrer dans ces structures.

La console R

Je préconise pour se faire la main au debut de travailler sur la console qui s’initialise au moment du lancement de R qui vient dans ce format une fois installée sur votre machine.

data structures en r-image 01

Vous verrez apparaitre sur votre écran la console R : 

Les objets en R

Une fois l’environnement installé, nous pouvons commencer à écrire nos premières lignes de code. 

En R, une variable ou objet se déclare en utilisant l’opérateur d’assignation le suivant : ’<-‘

Les chiffres entre crochets ‘[1]’ ne font pas partie des valeurs imprimées mais font office de référencement pour l’impression de l’objet. 

R a 5 classes d’objets basiques ou bien dites atomiques :

  • Character
  • Numeric (des nombres)
  • Integer(des entiers)
  • Complex
  • Logical(Vrai / Faux)

L’objet le plus basique en R est un vecteur dit ‘vector’. Le vecteur vide se déclare en utilisant la fonction vector(). Ce dernier peut seulement contenir un même type d’objet. L’exception à cette règle sera la liste ‘list’.

La creation de vecteurs 

La fonction c() permet de créer des vecteurs d’objects en contenant des valeurs ensemble. 

Nous pouvons également créer un vecteur en lui assignant une classe d’objet explicite comme c’est le cas ci-dessous :

R se charge de nommer la classe de l’objet ipso facto lors de sa création. Il est cependant possible de changer la classe de l’objet en utilisant la fonction as* : 

// Class() est une fonction utile qui permet de connaître la classe d’un objet//

Faisons maintenant place aux structures dans lesquels nous allons manipuler ces objets sous leurs différentes classes. 

Les matrices [Matrix]

Une matrice est un tableau à deux dimensions. Cet attribut dimensionnel est un vecteur de classe entier et d’une longueur s’étendant à deux. Elle comporte des rangées et des colonnes. 

On l’initialise en appelant la fonction matrix(). Le premier argument de cette fonction est le nombre de rangée et son deuxième determine le nombre de colonnes. 

Les valeurs non mentionnées en R sont automatiquement designées ‘NA’, à savoir non applicable ou sans valeurs.  Pour explorer une structure de données, on fait appel à la fonction dim(), diminutif de dimensions. Elle est très utile quand nous analysons une matrice donnée et non créée  puisqu’elle permet d’identifier la découpe dimensionnelle de cette dernière. 

Nous pouvons également faire appel à la fonction attributes() qui définit les attributs de notre structure. 

La particularité des matrices c’est qu’elles sont construites à partir de leurs colones. 

Elles peuvent également être conçues à partir de vecteurs en utilisant la fonction dim() comme dans l’exemple: 

Puis, Les fonctions rbind() et cbind() facilitent également la creation des      matrices en juxtaposant des objets :

Il est également possible de nommer nos colonnes et nos rangées à l’aide de deux fonctions colnames() et rownames() :

Les listes [Lists]

Cette structure est un type spécial de vecteur qui peuvent contenir des éléments de différentes classes. Elles sont un type de données crucial en R. 

Ces dernières peuvent être créées explicitement en utilisant la fonction list () incorporant ainsi des valeurs choisies. 

Une liste vide avec une longueur prédéfinie peut également se construire en utilisant la fonction vector() 

Les facteurs [factor]

Les facteurs representent des données dites catégoriques.Un facteur peut être représenté comme un vecteur composé d’entiers dont chaque entier est labellisé. Il est preferable d’utiliser des labels afin d’expliciter la categorisation des données. 

Un facteur se crée en utilisant la fonction factor(). 

La fonction table() orchestre nos données dans un tableau précisant la recurrence de chaque valeur au sein du vecteur. 

Dans un facteur, l’ordre des valeurs est automatiquement classé par ordre alphabétique. Nous pouvons inverser cette ordre en le précisant à la suite de l’énonciation de nos vecteurs en ajoutant une caractéristique de niveau : ‘levels’.

Dataframes

Les data frames ou blocs de données sont utilisés pour stocker des données tabulaires dans R. Ils représentent une structure d’objet importante dans R et sont utilisés dans diverses applications de modélisation statistique. Le package dplyr de Hadley Wickham a un ensemble optimisé de fonctions conçues pour traiter efficacement des trames de données.

Hadley Wickham

Les blocs de données sont représentés comme un type spécial de liste où chaque élément de la liste doit avoir la même longueur. 

Contrairement aux matrices, les blocs de données peuvent stocker différentes classes d’objets dans chaque colonne. En effet, les matrices doivent contenir des élément de la même classe.

Les blocs de données sont généralement créés en lisant un fichier de données en utilisant les deux fonctions les suivantes:  

  • read.table () 

ou 

  • read.csv ().

Cependant, les blocs de données peuvent également être créés explicitement avec la fonction data.frame (). 

Les trames de données peuvent être converties en matrice en appelant la fonction data.matrix ().

Lecture et écriture de data

Il existe quelques fonctions principales qui lisent des données dans R.

  • read.table, read.csv, pour lire les données tabulaires
  • readLines, pour lire les lignes d’un fichier texte
  • source, pour la lecture dans les fichiers de code R (inverse du dump)
  • dget, pour lire dans des fichiers de code R (inverse de dput)
  • load, pour la lecture dans les espaces de travail enregistrés
  • unserialize, pour lire des objets R uniques sous forme binaire

Il existe des fonctions analogues pour écrire des données dans des fichiers comme: 

  • write.table, pour écrire des données tabulaires dans des fichiers texte (ex. CSV) ou des connexions
  • writeLines, pour écrire des données de caractères ligne par ligne dans un fichier ou une connexion
  • dump, pour vider une représentation textuelle de plusieurs objets R
  • dput, pour sortir une représentation textuelle d’un objet R
  • save, pour enregistrer un nombre arbitraire d’objets R au format binaire(éventuellement compressé) dans un fichier.
  • serialize, pour convertir un objet R en un format binaire pour la sortie vers une connexion (ou un fichier).

Lecture de fichiers data avec read.table()  

La fonction read.table () est l’une des fonctions les plus couramment utilisées pour lire des données. 

La fonction read.table () a quelques arguments importants:

  • file, le nom d’un fichier ou une connexion
  • header, indique si le fichier a un en-tête
  • sep, une chaîne indiquant comment les colonnes sont séparées
  • colClasses, un vecteur de caractères indiquant la classe de chaque colonne de l’ensemble de données
  • nrows, le nombre de lignes dans l’ensemble de données. Par défaut, read.table () lit un fichier entier.
  • comment.char, une chaîne de caractères indiquant le caractère de commentaire. On l’indique comme ceci “#”. S’il votre fichier n’en contient pas, on le définit comme une chaîne vide ” “.
  • skip, le nombre de lignes à sauter depuis le début. Vous pouvez généralement appeler read.table sans en spécifier d’autres arguments que le fichier csv que vous désirez lire.

Conclusion 

Nous avons pu voir dans cet article les notions essentielles dans R:

  • classes atomiques: numérique, logique, caractère, entier, complexe

ansi que les 5 structures de données fondamentales à tout analyste: 

  • vecteurs, 
  • listes
  • facteurs
  • matrices
  • les dataframes

Tous les objets en R peuvent avoir des attributs qui aident à décrire ce qu’il y a dans l’objet. Les plus utiles de ces derniers sont sans doute les noms, tels que les noms de colonnes et de lignes dans un bloc de données, ou simplement des noms dans un vecteur ou une liste. Les attributs tels que les dimensions sont également importants car ils peuvent modifier le comportement des objets, comme transformer un vecteur en matrice par exemple. 

Ces concepts basiques vont nous permettre, dans le prochain article, d’approfondir le sujet et notamment l’ouverture et la lecture des fichiers. Cela s’inscrira dans une série d’articles sur le Data Mining en R. 

Category: Conseils, Développement

About Dorian H Mekni

Dorian.H Mekni est un expert en Data Mining. Il est féru de techniques algorithmiques et de développement d’application mobiles en language natif : Swift | Kotlin.
Ce 'Data Full-Stack' travaille en freelance PRO.
Dorian est aussi membre et auteur chez Data Science Central pour lequel il publie des articles sur les Data Structures et Algorithmes: https://www.datasciencecentral.com/profiles/blog/list?user=31ps4xlxoljkx.

Previous Post: « Dans la region Auvergne-Rhône-Alpes le recrutement numerique est compliqué. Jusqu'a 54% des projets sont jugés difficiles par les entreprises du secteur 2eme région de l’emploi numérique : la Région Auvergne-Rhône-Alpes
Next Post: 6 astuces pour devenir un expert en sécurité astuces pour améliorer la cybersécurité »

Reader Interactions

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée.

Sidebar

Rechercher

MOA et MOE

MOA / MOE : Quelles sont les différences ?

Read moreMOA / MOE : Quelles sont les différences ?
développeurs front end et backend

Développement front-end et back-end : Quelles différences ?

Read moreDéveloppement front-end et back-end : Quelles différences ?
lignes de code Java

‘Java’ est-il le meilleur langage de programmation pour les débutants?

Read more‘Java’ est-il le meilleur langage de programmation pour les débutants?
vb net ou c# comme langage de programmation

C# ou VB .NET, le choix du langage

Read moreC# ou VB .NET, le choix du langage

Comment utiliser le framework React JS

Read moreComment utiliser le framework React JS
1033853617

Les frameworks de programmation les plus populaires en France 

Read moreLes frameworks de programmation les plus populaires en France 
Les métiers du marketing digital

Les métiers du marketing digital les plus demandés en 2019

Read moreLes métiers du marketing digital les plus demandés en 2019
signe langage python sur ordinateur portable

Web Scraping avec python

Read moreWeb Scraping avec python
757797865

Qu’est-ce que le DevOps et en quoi consiste ce métier ?

Read moreQu’est-ce que le DevOps et en quoi consiste ce métier ?
smartphone et ordinateur avec banniere sur kotlin comment langage de developpement pour android

Kotlin pour le développement Android

Read moreKotlin pour le développement Android
Jeunes stagieres informatiques dans le domaine de la robotique

Le guide ultime pour bien préparer son stage informatique

Read moreLe guide ultime pour bien préparer son stage informatique
Pourquoi choisir symfony pour un projet web featured banner 800px

Pourquoi choisir Symfony pour un projet web ? 

Read morePourquoi choisir Symfony pour un projet web ? 

Nos Categories

Blockchain

Conseils

Contenu Top

Design

Développement 

Digital

E-commerce

Evénements

Interviews

Marché de l’emploi

Marketing

Réseaux et Systèmes

SEO

Web

Candidats

Emploi par région

Emploi par métier

Emploi par technologie

Emploi par industrie

Emploi par type de contrat

Tous les emplois

Fiches métiers informatiques

Nos Services

S’inscrire

Annonces

Évènements

Tests

Magazine

Salon LesJeudis

Support

Nous contacter

Vous êtes recruteur ?

A Propos

Conditions générales d’utilisation

Politique de confidentialité

Droit d’accès aux données 

personnelles

Social

Facebook

Twitter

Linkedi

Nos Categories

Blockchain

Conseils

Contenu Top

Design

Digital

E-commerce

Evénements

Interviews

Marché de l’emploi

Marketing

Réseaux et Systèmes

SEO

Web

Candidats

Emploi par région

Emploi par métier

Emploi par technologie

Emploi par industrie

Emploi par type de contrat

Tous les emplois

Fiches métiers informatiques

Support

Nous contacter

Vous êtes recruteur ?

A Propos

Conditions générales d’utilisation

Politique de confidentialité

Droit d’accès aux données 

personnelles

Social

Facebook

Twitter

Linkedi

Nos Services

S’inscrire

Annonces

Évènements

Tests

Magazine

Salon LesJeudis

Les Jeudis

© 2021 Groupe Les Jeudis