Analyse Statistique avec R- Importation de données

Statistical Analysis, R Programming · course

Browse all mathématiques documents

Analyse Statistique avec R- Importation de données

T.Mellah

Nov 1st, 2021

Contents

1 Importation dans R

1.1 A partir de fichiers locaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2 A partir des données disponibles sur le web . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3 Web scraping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1

1

2

2

1 Importation dans R

Les données pourraient être importées dans R à partir de différentes sources: des fichiers locaux, des base de

données disponibles sur le web ou toutes autres sources notamment les réseaux sociaux ou aussi à partir des

documents pdf.

Advertisement

1.1 A partir de fichiers locaux

Afin de pouvoir importer correctement les données dans R il faut prendre certaines précautions lors de la

préparation de la base de données, notamment:

• i-attention aux espaces, accents et caractères spéciaux;

• ii-enregistrer les feuilles de données sous un format tabulé.

Différentes commandes permettent d’importer des données dans R:

• read.table(): A privilégier pour des jeux de données organisés sous la forme de tableaux, comme cela

est souvent le cas en statistique.

• read.ftable(): Permet de lire des tableaux de contingence.

• scan(): beaucoup plus flexible et puissante. Elle devra être utilisée dans tous les autres cas.

D’une façon opérationnelle, une des options consiste à

• enregistrer la base sous un format tabulé (csv ou txt)

• ecrire la ligne de commande suivante dans la console de R

Data=read.table(file=file.choose(),header=T,sep="", dec=".",row.names=1)

On note que cette ligne de commande admet différents arguments:

• header=T : Valeur logique indiquant si le fichier contient le nom des variables sur la première ligne.

Advertisement

• sep= “”: les valeurs sur chaque ligne sont séparées par un ou plusieurs espaces.

• dec= “.”: le point est le séparateur décimal pour les nombres.

• row.names= 1: la première colonne du fichier contient le nom des individus. Si ce n’est pas le cas, il

suffit d’omettre ce paramètre.

1

Dans la ligne de commande présentée ci-dessus on a utilisé la fonction file.choose() qui ouvre une fenêtre

de dialogue permettant de sélectionner un fichier et de renvoyer la chaîne de caractères requise. Une autre

option consiste à spécifier soi même le chemin d’accès du fichier data.

Remarque:

• On peut importer directement depuis excel en suivant la procédure suivante: i- créer un tableau dans

excel ii- copier la plage de données qui sera confinée dans le press-papier iii- écrire dans R le script

suivant: library(readr) data <- read.table(file("clipboard"),sep="",header=TRUE,dec=",")

• L’inetrface de RStudio permet d’importer directement des fichiers de données dans R.

• On peut aussi utiliser les packages Rcmdr ou encore GrapheR (après avoir installer le packadge en

question taper dans la console run.GrapheR())

• certains packages contiennent des bases de données.

Advertisement

i-Ouvrir Rcmdr ii-Lister les données dans les

packages: Data/Data in packages/List data sets in packages : (ou encore taper dans la console data())

iii-Lire les données dans les packages: data(package = .packages(all.available = TRUE)) ou encore

Data/Data in packages/Read data set from an attached package

1.2 A partir des données disponibles sur le web

Exemple de constitution de base de données à partir du site de la Banque Mondiale relatif aux indicateurs de

développement: https://data.worldbank.org/data-catalog/world-development-indicators

Procédure:

• library(WDI)

• ind-data=rbind.data.frame(WDIsearch(string = "ICT", field = "name"),WDIsearch(string ="Commu-

nication", field = "name")): collecter des données sur les indicateurs disponibles en infrastructure

communication et en communication

• data=WDI(indicator = ind-data$indicator, start = 2000, end = 2018): constituer une base de données

sur une période 2000 à 2018

• View(data)

1.3 Web scraping

Advertisement

Par exemple à prtire du site wikipédia: https://en.wikipedia.org/wiki/Tunisia

1- Première façon de faire: utiliser le package htmltab

• install.packages("htmltab")

• library(htmltab)

• htmltab("https://en.wikipedia.org/wiki/Tunisia",3)

2-Deuxième façon de faire: utiliser les XML et httr packages

• library(httr)

• library(XML)

• url= "https://en.wikipedia.org/wiki/Tunisia"

• data=GET(url)

• data

• doc= readHTMLTable(doc=content(data, "text"))

2

• doc[4]

3