Cours 4 data frames

Transcription

Cours 4 data frames
Cours 4
data frames
Modes
Modes possibles
Plusieurs
modes
Vecteur vector
Numérique,caractère,complexe logique
Non
Facteur factor
Numérique,caractère
Non
Tableau array
Numérique,caractère,complexe logique
Non
Matrice matrix
Numérique,caractère,complexe logique
Non
Data.frame
Numérique,caractère,complexe logique
Oui
Série temporelle ts
Numérique,caractère,complexe logique
oui
Liste list
Numérique, caractère, complexe
logique
oui
Les data frames (traduction: chassis, cadre)
sont le « type », le format
par défaut sous R,
format obtenu:
– par la lecture de fichiers externes
– Et format obligatoire
pour exporter des tableaux de R
data.frame
• En interne ce sont des listes, dont les
champs sont des colonnes
• En apparence ce sont des matrices, avec
comme différence essentielle que les
différentes colonnes peuvent être de modes
distincts:alphanumériques, booléennes,
facteurs…
• Les lignes et les colonnes sont nommées et
on peut y accéder par leur indice de
position ou par leur nom…
exemple: L= LETTERS[1:3];
D=data.frame(x=rep(1,10),y=1:10,
fac=sample(L,10,replace=TRUE));
• La troisième colonne est
D[,3], ou D[,”fac”], ou D$fac
1
2
3
4
5
6
7
8
9
10
x y
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
fac
C
C
A
B
A
A
B
A
B
C
Fonctions pour les data
frames
x
1
2
3
4
5
6
7
8
9
10
y fac
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
salle
B
A
B
A
C
C
B
C
B
A
1
2
1
2
1
2
1
2
1
2
• data.frame():
• names(),colnames()rownames()liste
des noms de ligne et de colonnes
• dimnames():liste ayant 2 champs:
les noms de lignes et les noms de
colonne
• dim():liste donnant les dimensions
du data frame
• cbind():concaténation en colonne
• rbind():concaténation en ligne
• Exemple:cbind(d,salle=rep(c(1,2),5
))
La fonction data() :
Cette fonction a deux effets distincts:
elle permet
• de lister les data frame existants
• de lire des données internes et de les charger dans un
data.frame
Exemples:
data() # liste des noms de tous les data frame dans le
package par défaut appelé « datasets »
D=data(USArrests)
le place dans D
# charge le data frame USArrests et
data(package = .packages(all.available = TRUE))#
Donne la liste de tous les data frames de tous les
packages disponibles
Plus précis...
help(USArrests) # donne des informations sur le data frame
« USArrests », si elles existent
try(data(package = "rpart") )# liste des data frame dans le
package rpart
La fonction library()
Traduction : bibliothèque
Exemples:
library():donne la liste des « packages » ou bibliothèques
disponibles sur la version de R
On peut en charger d’autres par le site du CRAN par
exemple
library(cluster);data(agriculture);permet de charger le
data frame « agriculture » du package « cluster »
data(agriculture, package=« cluster »); permet aussi de
charger ce data frame
D=data(agriculture, package=« cluster »); permet aussi de
charger ce data frameet de le placer dans D
Importer des fichiers ...
• Pour les lectures et écritures dans un répertoire,R
utilise le repertoire de travail.
• getwd():permet de connaître ce repertoire
• setwd():permet de modifier le repertoire de travail
exemple setwd(« c:/data »)
• R peut lire des données stockées dans un fichier texte
(ascii):read.table(), en conservant sa structure
éventuelle:
la sortie est un data.frame
arguments de cette fonction:
file= nom du fichier
sep= séparateur (espace par défaut)
header= booléen (=TRUE si le nom des colonnes
est en tête, FALSE sinon)
Exemple: pour importer dans l'objet F les données situées
dans le fichier « fichier.txt » placé à l'adresse:
« C:\ArR\fichier.txt »
F=read.table(« C:\\ArR\\fichier.txt », sep=«
\t»,header=TRUE);
• Variantes:read.csv(), read.delim(),read.fwf()…
pour des fichiers dans d ’autres formats
(Excell,SAS,SPSS , bases de données SQL…)
• Attention: ces fonctions ne sont pas toujours dans le
package de base.
et
les exporter
• Ecriture d’un fichier
• write.table(file=,append=,col.names=, row.names=)
arguments:
file= nom du fichier, adresse d'export
append= booléen si TRUE ajoute au
si FALSE ecrase le fichier existant
fichier existant,
col.names= booléen si TRUE écrit les noms de colonnes
row.names= idem pour les lignes
Sauvegarder certains objets en binaire ou en
ASCII et les restaurer
Fonctions:
• dump():
sauve en ascii des objets R
• source():recharge les objets sauvés par dump(),par
exemple un script sauvegardé sous le nom test.R sera
rappelé par source(« test.R », echo=TRUE)
• save(): comme dump() mais en binaire
• load(): comme source() mais en binaire
Méthode
En pratique, on pourra créer un répertoire de
travail par analyse de données, et y déposer:
• les fichiers de données brutes
• le fichier script contenant les commandes R
• le workspace et les fichiers résultats(textes
et graphiques)