Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Importer vos données

Etienne
March 07, 2013

Importer vos données

› Créer un projet R
› Regardez les données dans R (rappel) › Créer des données appropriées pour R › Importer des données
› Manipuler des fichiers de données brisées › Identifier le problème
› Le réparer dans une feuille de calcul › Le réparer dans R
› Manipuler des formats de données douteuses › Restructurer de large à long
› Sauvegarder et exporter des données

Etienne

March 07, 2013
Tweet

More Decks by Etienne

Other Decks in Science

Transcript

  1. Objectifs ›  Créer un projet R ›  Regardez les données

    dans R (rappel) ›  Créer des données appropriées pour R ›  Importer des données ›  Manipuler des fichiers de données brisées ›  Identifier le problème ›  Le réparer dans une feuille de calcul ›  Le réparer dans R ›  Manipuler des formats de données douteuses ›  Restructurer de large à long ›  Sauvegarder et exporter des données
  2. ›  Crée une structure de dossier de base pour chacun

    de vos projets ›  Vous aide à rester organisé ›  R obtient et sauvegarde tout ici Créer un projet R
  3. ›  Pour commencer: vous pouvez télécharger toute la structure avec

    scripts R, données, etc. de: ›  https://github.com/zerotorhero/MBSU Créer un projet R
  4. ›  Prochaine étape: Ouvrez R Studio et un sélectionnez Créer

    Projet ›  Dit à R que ceci est le projet et le dossier sur lequel vous allez travailler Créer un projet R dans R Studio
  5. ›  Allez rechercher le répertoire que vous avez téléchargé de

    github Créer un projet R dans R Studio 1 2 3
  6. Créer un projet R dans R Studio ›  Quitter R

    studio et rouvrez-le en double- cliquant sur le fichier du projet ›  R-studio rouvrira avec tous vos scripts ouverts tel qu'ils étaient lorsque vous aviez quitté ›  Vous pouvez naviguer tous vos fichiers directement dans votre dossier de projet
  7. Les Scripts ›  Qu'est-ce que c'est? ›  Un fichier texte

    qui contient toutes les commandes que vous utiliserez! ›  Une fois écrit et sauvegardé, votre fichier script vous permet de faire des changements et ré- exécuter l'analyse avec un effort minimal!
  8. Fichier -> Ouvrir fichier -> 02_Importer vos données.R Recommandation: o 

    Sauvegardez votre propre script: Fichier -> Enregistrer sous -> Mon_propre_script.R o  référer au code fourni uniquement si nécessaire o  éviter de copie-coller ou d'exécuter le code directement du script 02_Importer vos données.R
  9. ›  Texte dans le script R ressemble à entrée #

    ceci est ma commande ›  Pour exécuter cette commande surligner la et cliquer sur Run (raccourci: CTRL ↵ ou ⌘↵) Les Scripts
  10. Commentaires ›  # ce symbole dit à R d'ignorer le

    texte qui suit ›  commentaires/documentation ›  annotez le script de quelqu’un d’autre est une bonne façon d'apprendre ›  rappelez de ce que vous avez fait ›  dire à vos collaborateurs ce que vous avez fait ›  bon pas vers la science reproductible
  11. Taches ménagères ›  Étapes que vous devez prendre avant l'exécution

    du code ›  Il est recommandé de placer un en-tête dans chacune de vos scripts
  12. Taches ménagères ›  Supprime toutes les variables de la mémoire

    ›  Évite des erreurs telles que l'utilisation d’anciennes données # Supprimer la mémoire R rm(list = ls() ) Tapez ceci dans votre script R
  13. Répertoire ›  Un répertoire est un dossier et les instructions

    (chemin) pour y arriver ›  “/” sépare les dossiers et fichiers ›  “.” indique le répertoire de travail courant ›  c.-à- où vous avez créé votre projet ›  Pour savoir quel est le répertoire de travail courant ›  tapez “getwd()” dans la console ›  R Studio définit automatiquement le répertoire qui contient votre projet R ›  Alors il n’est pas nécessaire d’établir le répertoire avec R Studio (seulement avec R) setwd ("~ / Desktop / PhD / HIVER atelier 2013/Stats/Intro Jour 1")
  14. ›  Trouvez d’autres données ›  CO2, iris, trees … › 

    Et examinez les avec: ›  Comparez vos données à celles qui se retrouvent dans R et à celles de votre voisin Examiner les données data() head(); str(); names(); attributes(); summary(); plot()
  15. Examiner les données load a built-in data file peek at

    first few rows structure of the object names of items in the object attributes of the object summary statistics plot of all variable combinations data(CO2) head(CO2) str(CO2) names(CO2) attributes(CO2) summary(CO2) plot(CO2) Working with a data frame importez des bases de données intégrées regardez les premières lignes structure de l’objet noms d’éléments dans l’objet attributs de l’objet statistique sommaire graphique de toutes les combinaisons de variables
  16. Préparation des données pour R ›  Fichiers de formats séparés

    par la virgule (.csv) dans le dossier de données ›  peut être créé à partir de presque toutes les applications (Excel, LibreOffice, GoogleDocs) ›  Fichier -> Enregistrer sous… .csv
  17. ›  Entêtes de colonnes courtes et informatives ›  en commençant

    par une lettre ›  sans espaces Préparation des données pour R
  18. ›  Les valeurs des colonnes correspondent à l'usage prévu › 

    pas de texte dans les colonnes numériques ›  y compris les espaces ›  NA (non disponible) est permis ›  Évitez des valeurs numériques pour des données qui n’ont pas de signification numérique ›  Sujet, Réplication, Traitement ›  1,2,3 -> A,B,C ou S1,S2,S3 ou … Préparation des données pour R
  19. ›  Pas de patente à gosse ›  pas de notes,

    rubriques supplémentaires, ou de cellules fusionnées Préparation des données pour R
  20. ›  Large ›  Chaque niveau d'un facteur obtient une colonne

    ›  Plusieurs mesures par ligne ›  Excel, SPSS… ›  Avantages ›  Joue bien avec les humains ›  Pas de répétition des données ›  Bon pour jeter un coup d’oeil ›  Inconvénients ›  Ne joue pas bien avec R ›  Long ›  Niveaux sont exprimés dans une colonne ›  Une valeur mesurée par ligne ›  Avantages ›  Joue bien avec les ordinateurs ›  Inconvénients ›  Ne joue pas bien avec les humains ›  Beaucoup de copie coller et oublier le coup d’oeil! Préparation des données pour R ID variable Phosphore Région 1 52 rivière 2 175 lac … ID variable Facteur Valeur mesurée 1 Phosphore 52 1 Région rivière 2 Phosphore 175 2 Région lac …
  21. Préparation des données ›  Essayez de préparer vos propres données

    pour R, ou trouver des données intéressantes en ligne et préparer les ›  NB: il est possible de faire tout votre travail de préparation au sein de R ›  peut être très fastidieux ›  garde les données originaux intacts ›  pouvez même alterner entre le format long et large
  22. Importez vos données ›  Nous allons maintenant importer le fichier

    de données iris_data<-­‐read.csv(“./Data/iris_good.csv”)   ›  Rappel: pour découvrir quels sont les arguments que la fonction nécessite, utiliser l'aide “?” ! Objet (nom) Fonction (ce que je fais) Argument (à quoi s’applique ceci) ?read.csv  
  23. Petit truc ›  Pour faire les choses un peut plus

    rapides ›  La touche: –> - _ Ctrl - _ ou
  24. ›  Essayez d'importer les données que vous avez préparées pour

    R ›  mes_bonnes_données<-read.csv(…) ›  Essayez d'importer des données qui ne sont pas prêtes pour R ›  pas_prêtes<-read.csv(…) ›  Examiner les deux Importez vos données
  25. ›  Vous pouvez effectuer des calculs pour chaque groupe › 

    Par exemple: ›  Remplacez des valeurs spécifiques iris_data$mean.sepal.length[iris_data$Species=="setosa"]<-with(iris_data, mean(Sepal.Length)) iris_data$Species[iris_data$Species=="setosa"]<-"Setosa" Manipuler les données
  26. Sauvegarder des données # Saugarder un fichier R save(iris_data, file

    = ”./Output/iris_cleaned.R") # Suprimer la mémoire rm(list = ls()) # Réimporter iris_data load(”./Ouptut/iris_cleaned.R") head(iris_data) # Tout semble bon! Sauvegarder Effacer Réimporter … c’est tout!
  27. Sauvegarder et exporter ›  Manipulez, sauvegardez et exportez vos données

    ›  mes_données_avec_calcs ›  Ouvrez-le dans l’application de votre choix (Excel, etc.)
  28. Défi difficile ›  Importer le fichier "CO2_broken.csv” ›  C'est probablement

    à ce que ressemble vos données ou les données que vous avez téléchargés ›  Vous pouvez le faire en R (ou non…) ›  Importer vos propres données non préparées ›  SVP ne pas regarder les réponses dans le script avant d'essayer ›  Travailler avec vos voisins et amusez-vous! ›  INDICE: Il y a 4 erreurs
  29. Données mal formatées ›  Essayez d’importer les données mal en

    point: ›  Cela n'a pas fonctionné parce que l'extension est .txt et non .csv iris_brisées<-read.csv("iris_broken.csv") > iris_brisées<-read.csv("iris_broken.csv") Error in file(file, "rt") : cannot open the connection In addition: Warning message: In file(file, "rt") : cannot open file 'iris_broken.csv': No such file or directory iris_brisées<-read.csv("iris_broken.txt") EURREUR 1
  30. > head(iris_brisées) I.did.my.best.to.create.the.most.annoying.file.to.import.into.R 1 This really looks like the first

    file I ever imported into R\t\t\t\t\t 2 I since do a way better job of cleaning up my data\t\t\t \t\t 3 But some collaborators will never diverge from their sloppy ways\t \t\t\t\t 4 \tSepal.Length\tSepal.Width\tPetal.Length\tPetal.Width \tSpecies 5 1\t5.1\t3.5\t1.4\t0.2\tsetosa 6 2\t4.9\t3\t1.4\t0.2\tsetosa head(iris_brisées) ›  Les données semblent être regroupés dans une seule ligne! ERREUR 2 Données mal formatées
  31. ›  Réimporter les données, mais spécifier la séparation entre les

    entrées ›  L'argument sep indique à R quel caractère sépare les valeurs de chaque ligne du fichier (ici, TAB a été utilisé) ›  Les 4 premières lignes sont inutiles ›  Y at-il autre chose étrange? iris_brisées<-read.csv("iris_broken.txt", sep = “”) head(iris_brisées) str(iris_brisées) ERREUR 2 iris_brisées<-read.csv("iris_broken.txt", sep = "", skip = 4) head(iris_brisées) str(iris_brisées) ERREUR 3 Données mal formatées
  32. ›  La plupart des variables continues sont listés comme facteurs

    (catégorique) ›  En raison de valeurs manquantes entré comme «valeur_oublié» et «na» ›  Rappel: R reconnaît que «NA» (capitalisé) > str(iris_data) 'data.frame': 150 obs. of 5 variables: $ Sepal.Length : Factor w/ 35 levels "4.3","4.4","4.5",..: 9 7 5 4 8 12 4 ... $ Sepal.Width : Factor w/ 24 levels "2","2.2","2.3",..: 15 10 12 11 16 ... $ Petal.Length : Factor w/ 45 levels "1","1.1","1.2",..: 5 5 4 6 5 8 5 6 5 ... $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ... $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 ... ERREUR 4 Données mal formatées
  33. ERREUR 4 read.csv("iris_broken.txt", sep = "", skip = 4, na.strings

    = c("NA","na","Forgot_this_value")) Le correctif!
  34. ERREUR 5 ›  Ok, nous avons presque terminé! ›  Plusieurs

    variables apparaissent toujours comme facteurs ›  rangée 23 de Sepal Width a été inscrit comme “_3.6” au lieu de “3.6” ›  Deux nouveaux arguments dont nous aurons besoin ›  as.is ›  as.numeric Indique à R de laisser la variable tout seule Indique à R de rendre la variable numérique iris_brisées$Sepal.Width[23] class(iris_brisées$Sepal.Width) Données mal formatées
  35. ›  Maintenant, R pense que ces variables sont uniquement des

    caractères ›  Donc l'étape suivante est d'utiliser as.numeric ›  Notez le message d'avertissement car un NA a été introduit là où il y avait des valeurs non-numériques ERREUR 5 iris_data<-read.csv("iris_broken.txt", sep="", skip=4, na.strings=c("NA", "na","forgot_this_value"), as.is=c("Sepal.Width", "Petal.Length")) iris_brisées$Sepal.Width <- as.numeric(iris_brisées$Sepal.Width) iris_brisées$Petal.Length <- as.numeric(iris_brisées$Petal.Length) Données mal formatées