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)