Chapitre 3 fichiers de données

Slides:



Advertisements
Présentations similaires
Formation des enseignants Formation MATLAB. Formation des enseignants MATLAB® (pour MATrix LABoratory) est un logiciel scientifique de calcul numérique.
Advertisements

Abes agence bibliographique de l’enseignement supérieur Comment adapter les “modéles de notices” à vos besoins ?
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
A la fin de ton année de 4 ème, tu dois être capable d’utiliser parfaitement un Mais d’abord qu’est-ce qu’un TABLEUR ? ???? TABLEUR- GRAPHEUR Page suivante.
Votre première tâche... Choisir la source de données WinBooks * à partir de laquelle vous souhaitez travailler. Pour mémoire, Winbooks (tant AC que LO)
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
Utilisation d’avistep
Sauvegardes ● Le « workspace » (``'espace de travail''), c'est à dire l'ensemble des variables, a été sauvegardé sur le disque. Cela permet de reprendre.
Cours 7 Programmation de base. Boucles et Tests for( in ) { } while( ) { } Exemple: x=rep(5,0) for (i in 1:5) x[i]=2*i+1 Les fonctions du type apply(),replicate()
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Cours 4 data frames. Modes ouiNumérique, caractère, complexe logique Liste list ouiNumérique,caractère,complexe logiqueSérie temporelle ts OuiNumérique,caractère,complexe.
Matrices. Génération de matrices matrix() Ce sont des vecteurs qui possèdent un argument supplémentaire, qui est lui-même un vecteur de longueur 2, sa.
Cours 2 Vecteurs, matrices,listes,séries temporelles, data frames.
Ajouter le code dans une page html
I- ANALYSE DU BESOIN / Plan
Analyse technique (17) Le Rate Of Change (ROC).
Exploitation de logiciels :
I- ANALYSE DU BESOIN / Plan
Les Instructions Itératives (Les Boucles)
Structure et Services « STS » Menu Structures : Divisions
Environnement du développement de BD ORACLE REPORTS 10g
Listes,dataframes séries temporelles
Plateforme CountrySTAT Aperçu global de la préparation des tableaux dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME.
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Algorithmiques Abdelbasset KABOU
Les commandes du système de fichiers
Chapitre 4 manipulation de données
Programmation en C++ IO en C++/SL
Chapitre 5 tests conditionnels, boucles et fonctions
Semaine #1 INF130 par Frédérick Henri.
AIDE A L’UTILISATION DU LOGICIEL LATISPRO
Collecte de données CAPI
pensez à nettoyer vos scripts !
Les objectifs du cours Savoir utiliser un Tableur
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
Session 2 1er juin 2017 Plateforme ICONICS Justine Guégan
WEBAFFILIGUE - ASSOCIATION
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
Création Et Modification De La Structure De La Base De Données
Manipulation D’Une Base De Données
Cours N°10: Algorithmiques Tableaux - Matrices
Formules de calculs et Fonctions. Structure des formules de calcul Commencez toujours votre calcul par le signe =, ensuite sans laisser d’espaces, placez.
WORD EN LIGNE Ariane / Tous les mots en rouge sont expliqués dans les pages vocabulaire (les dernières du diaporama) en cliquant.
Calcul Scientifique Initiation à SCILB
ACP Analyse en Composantes Principales
1 Copyright © 2004, Oracle. Tous droits réservés. Extraire des données à l'aide de l'instruction SQL SELECT.
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Gestion des photos Organisation du disque dur, Navigation
CountrySTAT / FENIX Aperçu globale de l’Editeur DSD dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME CountrySTAT/FENIX.
Présentation de la base Frantext
Atelier R réseau métier ARAMIS
Support de formation Administrateur Temps & activités
Plateforme CountrySTAT Aperçu global de la préparation des tableaux dans la nouvelle plateforme CountrySTAT FORMATION DES POINTS FOCAUX SUR LE SYSTEME.
Objectifs Pourquoi utiliser EndNote ? Créer une base de données EndNote.
BUFFER CIRCULAIRE Meryem EL BAKRI. PLAN Introduction Buffer circulaire Fonctionnement.
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
Session 2 9 mars 2017 Plateforme ICONICS Justine Guégan
STREAMS (et fichiers).
Lecture/Écriture de fichiers (I/O)
Tableaux croisés dynamiques sous Excel et Tableau Software :
Tableau de bord d’un système de recommandation
Support de formation Administrateur Entretiens
Python Nicolas THIBAULT
Journée 2ème: introduction
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

Chapitre 3 fichiers de données Programmation en R

Introduction # Toute étude statistique concerne des données, et celles-ci se trouvent généralement dans des fichiers de données. # Il nous faut donc apprendre à lire des fichiers de données de formats spécifiques (csv, xlsx (Excel), etc.). # Il nous faut également apprendre à écrire dans des fichiers de format spécifique les analyses ou données modifiées que nous produisons.

Répertoires et fichiers # La première étape est de savoir se placer dans le bon répertoire de travail ainsi que de naviguer d'un répertoire à l'autre. # Pour accéder au répertoire courant, on utilise getwd(). getwd() [1] "/Users/jcabessa/Desktop/MAIN/Courses/R/cours" # Pour changer de répertoire, on utilise setwd("path"), où "path" est le chemin du répertoire en question. setwd("/Users/jcabessa/Desktop/MAIN/Courses/R/tutorials") getwd() # le répertoire courant a bien changé [1] "/Users/jcabessa/Desktop/MAIN/Courses/R/tutorials"

Répertoires et fichiers # Une autre manière très utile de changer de répertoire courant et d'utiliser la fonction setwd(file.choose()). # Cette fonction ouvre une fenêtre qui vous permet de choisir un fichier; ensuite, le répertoire courant est automatiquement changé en celui dans lequel se trouve le fichier que vous avez choisi. setwd(file.choose()) # en choisissant un fichier, on a changé de répertoire courant… getwd() [1] "/Users/jcabessa/Desktop/MAIN/Courses/R/cours"

Répertoires et fichiers # Pour lister les fichiers du répertoire courant, on utilise list.files(). list.files() [1] "Ch1.pptx" "Ch2.pptx" "Ch3.pptx" [4] "Ch4.pptx" "Chapter1.R" "Chapter2.R" [7] "Chapter3.R" "hist1.pdf" "notes.txt" [10] "probability.R” "volcano.pdf" # Il existe bien d'autres fonctions permettant de créer, copier ou effacer des fichiers (de manière récursive aussi). # On verra les plus importantes en cours de route.

Écriture dans des fichiers # Si vous désirez exporter, i.e. écrire, les outputs de vos commandes R dans un fichier (afin de sauvegarder ces données), utiliser les fonctions cat() ou sink(). # Si vous désirez sauvez des objets quelconques dans un fichier, utiliser la fonction save() de paire avec la fonction load(). # Si vous désirez écrire des matrices ou data frames dans des fichiers, utiliser les fonctions write(), write.table(), ou write.cvs(). # Rappel: pour obtenir toute l'info sur une fonction, taper ?nom_fonction.

Écriture dans des fichiers # 1. La fonction cat(): concatenate and print # Cette fonction imprime dans la console, comme print(), mais elle peut également imprimer, i.e. écrire, dans des fichiers si l'argument file = "nom_fichier" est spécifié. cat("Bonjour", TRUE, "\n") # \n signifie "fin de ligne » Bonjour TRUE cat("The answer is", 3, "\n", file = "output.txt") cat("The answer is", 27, "\n", file = "output.txt") # On remarque qu'à chaque appel de cat, le fichier output.txt est automatiquement recrée; les données n'ont donc pas été appondues dans le fichier.

Écriture dans des fichiers # Si le fichier de sortie existe déjà, on utilise l'argument append = TRUE pour appondre les données successives. cat("The answer is", 3, "\n", file = "output.txt") cat("The answer is", 27, "\n", file = "output.txt", append = TRUE) # Maintenant, le fichier output.txt contient deux lignes.

Écriture dans des fichiers # Exemple: # On imprime dans un fichier 10'000 valeurs tirées aléatoirement à partir d'une loi normale de moyenne 1 et déviation standard 2. # Et, comme deuxième colonne, on imprime 10'000 valeurs tirées aléatoirement à partir d'une loi de Poisson de moyenne 1. # Cet exemple fournit un avant goût des boucles "for". # En passant, on présente des commandes de manipulation de fichiers.

Écriture dans des fichiers # On crée le fichier valeurs.txt file.create("valeurs.txt") [1] TRUE # On vérifie que ce fichier existe file.exists("valeurs.txt") # On crée les deux vecteurs de 10'000 nombres tirés aléatoirement. n_data <- rnorm(10000, 1, 2) p_data <- rpois(10000, 1) # On crée le vecteur des noms de lignes noms_lignes <- c() for (i in 1:10000){ noms_lignes[i] <- paste("ligne", i) }

Écriture dans des fichiers # On imprime le tout dans un fichier texte. for (i in 1:10000){ cat(n_data[i], p_data[i], "\n", file = "valeurs.txt", append = TRUE) } # On obtient bien un fichier de 10'000 lignes. # On efface ce fichier file.remove("valeurs.txt") [1] TRUE

Écriture dans des fichiers

Écriture dans des fichiers # 2. La fonction sink(): # En tapant sink("nom_fichier"), on redirige tous les outputs de la console dans un fichier spécifique. # En tapant sink(), on revient à une impressions normale dans la console.

Écriture dans des fichiers file.create("valeurs.txt") [1] TRUE sink("valeurs.txt") n_data <- rnorm(10000, 1, 2) p_data <- rpois(10000, 1) for (i in 1:10000){ cat(n_data[i], p_data[i], "\n”) # on utilise cat en mode console } sink() file.remove("valeurs.txt")

Écriture dans des fichiers # 3. Les fonctions save() et load(): # La fonction save() permet de sauvegarder, i.e. d'écrire, des objets R quelconques dans un fichier d'extension RData. file.create("valeurs2.RData") [1] TRUE x <- runif(1000, min = 0, max = 1) y <- list(a = 1, b = TRUE, c = "oops") save(x, y, file = "valeurs2.RData")

Écriture dans des fichiers # La fonction load() permet de loader le fichier d'extension RData. # On a alors de nouveau accès à nos objets x et y. load("valeurs2.RData") x ... # pas imprimé, trop long y file.remove("valeurs2.RData") [1] TRUE

Écriture dans des fichiers # 4. Les fonctions write(), write.table(), write.csv(): # Vous aurez très probablement à écrire des matrices ou des data frames dans des fichiers. # Les fonctions suivantes sont faites pour cela. # La fonction write() est assez générale. # La fonction write.table() concerne principalement les tables de données. # La fonction write.csv() écrit automatiquement dans un fichier au format csv (comma separated values), c'est-à-dire, un format (très utilisé) où les données sont séparées par des virgules.

Écriture dans des fichiers # Exemple: # R contient des data frames prédéfinis. # Par exemple, le data frame swiss contient des données concernant diverses villes de Suisse. # On écrit ces données dans un fichier texte en utilisant write.table(). file.create("swiss.txt") [1] TRUE write.table(swiss, file = "swiss.txt", sep = "\t", eol = "\n", na = "NA", row.names = TRUE, col.names = TRUE) file.remove("swiss.txt")

Écriture dans des fichiers

Écriture dans des fichiers # Cette fois, on écrit ces données dans un fichier csv en utilisant write.csv(). file.create("swiss.csv") [1] TRUE write.csv(swiss, file = "swiss.csv") # On obtient un fichier csv, où les données soont séparées par des virgules. # Avec la fonction write.csv(), il est (fortement) recommandé d'ajouter row.names = FALSE, autrement, les noms de lignes deviennent des données... file.remove("swiss.csv")

Écriture dans des fichiers

Lecture de fichiers # Il est extrêmement utile d'importer, i.e. de lire, des données (en général des tables de données de tailles importantes) qui se trouvent dans des fichiers. # Pour cela, on utilise les fonction read.table(), read.csv(), read.fwf(), etc. # Ces fonctions permettent de lire des tables de données, et, surtout, de les comprendre comme des objets de type "data.frame". # Plus précisément, ces fonctions lisent un fichier texte, contenant une table de données, et retournent un data frame. # On peut alors travailler sur ces données en utilisant tout l'attirail de fonctions concernant les data frames et autre objets de R.

Lecture de fichiers # Exemple: # Dans le répertoire de cours, le fichier diamonds.txt contient les informations de 53'900 diamants. Les données sont séparées par des espaces. # On va importer, i.e. lire, les données de ce fichier, les modifier légèrement, et les réenregistrer, i.e. les récrire, dans un fichier.

Lecture de fichiers # 1. La fonction read.table(): # Lorsqu'on lit un fichier, il faut (toujours) affecter le résultat de cette lecture à une variable, afin de pouvoir manipuler ces données. diamonds_df <- read.table("diamonds.txt", header = TRUE, sep = " ", quote = "\"'", na.strings = "NA") # visualisation du début des données head(diamonds_df) carat cut color clarity depth table price x ... 1 0.23 Ideal E SI2 61.5 55 326 3.95 ... 2 0.21 Premium E SI1 59.8 61 326 3.89 ... ... class(diamonds_df) [1] "data.frame"

Lecture de fichiers # On imprime le prix des diamants en fonction de leur carat. library(ggplot2) # libairie graphique (cf. suite cours) qplot(carat, price, data = diamonds_df, main = "Prix vs Carat - graphique 1") # cf. next slide # On ne considère que les diamants de coupe idéale. # Ceci revient à supprimer les autre lignes. # On utilise la fameuse fonction subset(), avec l'argument subset pour sélectionner les lignes. diamonds_df2 <- subset(diamonds_df, subset = (cut == "Ideal")) # On imprime le prix en fonction du carat. qplot(carat, price, data = diamonds_df2, main = "Prix vs Carat - graphique 2") # cf. next slides

Lecture de fichiers

Lecture de fichiers

Lecture de fichiers # On supprime maintenant les colonnes "clarity" et "table". # On utilise la fameuse fonction subset() avec l'argument select pour sélectionner les colonnes. diamonds_df3 <- subset(diamonds_df, select = colnames(diamonds_df)[c(-4, - 6)]) head(diamonds_df3) carat cut color depth price x y z 1 0.23 Ideal E 61.5 326 3.95 3.98 2.43 2 0.21 Premium E 59.8 326 3.89 3.84 2.31 3 0.23 Good E 56.9 327 4.05 4.07 2.31 ... # On réenregistre ces données dans un fichier diamonds2 au format csv. write.csv(diamonds_df3, file = "diamonds2.csv“, row.names = FALSE)

Lecture de fichiers # 2. La fonction read.csv(): # On peut maintenant réimporter les données csv que nous venons d'enregistrer grâce à la fonction read.csv(). diamonds_df3 <- read.csv("diamonds2.csv") head(diamonds_df3) carat cut color depth price x y z 1 0.23 Ideal E 61.5 326 3.95 3.98 2.43 2 0.21 Premium E 59.8 326 3.89 3.84 2.31 3 0.23 Good E 56.9 327 4.05 4.07 2.31 4 0.29 Premium I 62.4 334 4.20 4.23 2.63 5 0.31 Good J 63.3 335 4.34 4.35 2.75 6 0.24 Very Good J 62.8 336 3.94 3.96 2.48 # On réobtient bien le data frame du fichier diamonds2.csv, compris comme un data frame.