09 - Importar y exportar datos

François Rebaudo, IRD francois.rebaudo@ird.fr

Marzo 2019 ; PUCE-Quito-Ecuador http://myrbooksp.netlify.com/

CC BY-NC-ND 3.0

Directorio de trabajo

Verificar el directorio de trabajo

getwd()
## [1] "C:/Users/nous/Documents/Francois/TRAVAIL/00__EN_COURS/FORMATION/CURSOS_DE_R_2019"
list.files()
##  [1] "00_buildPrez.R"         "00_prerrequisitos.R"   
##  [3] "BAK"                    "myData"                
##  [5] "myFiles"                "myVideos"              
##  [7] "programaTentativo.docx" "programaTentativo.txt" 
##  [9] "R00_links.html"         "R00_links.Rmd"         
## [11] "R01_introduction.html"  "R01_introduction.Rmd"  
## [13] "R02_calculadora.html"   "R02_calculadora.Rmd"   
## [15] "R03_objet.html"         "R03_objet.Rmd"         
## [17] "R04_editorTexto.html"   "R04_editorTexto.Rmd"   
## [19] "R05_dataType01.html"    "R05_dataType01.Rmd"    
## [21] "R06_dataType02.html"    "R06_dataType02.Rmd"    
## [23] "R07_functions.html"     "R07_functions.Rmd"     
## [25] "R08_functions.html"     "R08_functions.Rmd"     
## [27] "R09_importExport.Rmd"   "R10_algo01.Rmd"        
## [29] "R11_algo02.Rmd"         "R12_gestion.Rmd"       
## [31] "R13_graph01.Rmd"        "R14_graph02.Rmd"       
## [33] "R15_graph03.Rmd"        "R16_stats01.Rmd"       
## [35] "R17_rmarkdown.Rmd"      "R18_conclu.Rmd"        
## [37] "reveal.css"             "ROSALIND.R"            
## [39] "ROSALIND_COURS.docx"    "X07_Ejercicios.Rmd"    
## [41] "X09_Ejercicios.Rmd"     "X13_Ejercicios.Rmd"    
## [43] "X14_Ejercicios.Rmd"     "X17_Ejercicios.Rmd"

Cambiar el directorio de trabajo

setwd("..")
setwd("~/Documents/CURSOS_DE_R_2019")
setwd("/home/fr/Documents/CURSOS_DE_R_2019")

Importar y ejecutar codigo

Importar y ejecutar codigo

source("00_prerrequisitos.R")
## Le chargement a nécessité le package : palettesForR
## Le chargement a nécessité le package : devRate
## Le chargement a nécessité le package : microbenchmark
## Le chargement a nécessité le package : plotly
## 
## Attachement du package : 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
## Le chargement a nécessité le package : roxygen2
## Le chargement a nécessité le package : spatstat
## Le chargement a nécessité le package : spatstat.data
## Le chargement a nécessité le package : nlme
## Le chargement a nécessité le package : rpart
## 
## spatstat 1.57-1       (nickname: 'Cartoon Physics') 
## For an introduction to spatstat, type 'beginner'
## 
## Note: spatstat version 1.57-1 is out of date by more than 3 months; we recommend upgrading to the latest version.
## Le chargement a nécessité le package : parallel
## Le chargement a nécessité le package : revealjs

Leer datos desde un archivo

Archivos CSV

Transformar archivos XLS y XLSX en CSV (guardar archivo como…).

Archivos CSV

wd <- "./myData/"
setwd(wd)
getwd()
## [1] "C:/Users/nous/Documents/Francois/TRAVAIL/00__EN_COURS/FORMATION/CURSOS_DE_R_2019/myData"
list.files()
##  [1] "00_shi2016.pdf"                          
##  [2] "copitarsia.R"                            
##  [3] "dashboard_ex.Rmd"                        
##  [4] "dashboard_res01.html"                    
##  [5] "dataShi2016PourVignetteDevRate.xls"      
##  [6] "discurso20190109.txt"                    
##  [7] "discurso20190110.txt"                    
##  [8] "discurso20190111.txt"                    
##  [9] "discurso20190117.txt"                    
## [10] "E05C13.csv"                              
## [11] "palettesForR_show.pdf"                   
## [12] "README.md"                               
## [13] "revealjs_ex.Rmd"                         
## [14] "revealjs_res01.html"                     
## [15] "rmarkdown_ex.Rmd"                        
## [16] "rmarkdown_res01.html"                    
## [17] "salleElevage_20190206114212.csv"         
## [18] "Supplementary Material 2 - Table S1.xlsx"
setwd("..")

Archivos CSV

Abrir el archivo con el bloc de notas.

bdd <- read.table(
  file = "./myData/E05C13.csv", 
  header = TRUE, 
  sep = ",",
  dec = ".", 
  skip = 1, 
  stringsAsFactors = FALSE
)

Archivos CSV

head(bdd)
##   X. Date.Heure..GMT.04.00
## 1  1     11/12/15 23:00:00
## 2  2     11/12/15 23:30:00
## 3  3     11/13/15 00:00:00
## 4  4     11/13/15 00:30:00
## 5  5     11/13/15 01:00:00
## 6  6     11/13/15 01:30:00
##   Temp...Â.C..LGR.S.N..10362176..SEN.S.N..10362176.
## 1                                             4.973
## 2                                             4.766
## 3                                             4.844
## 4                                             4.844
## 5                                             5.076
## 6                                             5.282

Archivos CSV

names(bdd) <- c("id", "dateTime", "temp")
str(bdd)
## 'data.frame':    32786 obs. of  3 variables:
##  $ id      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ dateTime: chr  "11/12/15 23:00:00" "11/12/15 23:30:00" "11/13/15 00:00:00" "11/13/15 00:30:00" ...
##  $ temp    : num  4.97 4.77 4.84 4.84 5.08 ...
is.data.frame(bdd)
## [1] TRUE

Archivos TXT

miTextFile <- "./myData/README.md"
readLines(miTextFile)
## [1] "# myRBook_SP"                                                                                                          
## [2] "Aqui se encuentra el código fuente del libro  *Aprender R: iniciación y perfeccionamiento*, construido con bookdown."

Archivos TXT

scan(miTextFile, what = "character")
##  [1] "#"                   "myRBook_SP"          "Aqui"               
##  [4] "se"                  "encuentra"           "el"                 
##  [7] "código"             "fuente"              "del"                
## [10] "libro"               "*Aprender"           "R:"                 
## [13] "iniciación"         "y"                   "perfeccionamiento*,"
## [16] "construido"          "con"                 "bookdown."

Otros archivos

Usando paquetes casi todos los archivos se pueden abrir con R.

Leer datos desde Internet

Leer datos desde Internet

bddI <- read.table(
  'https://raw.githubusercontent.com/frareb/myRBook_SP/master/myFiles/E05C13.csv', 
  header = TRUE, 
  skip = 1, 
  sep = ",", 
  dec = "."
)

Exportar datos

Exportar datos para uso futuro en R

Archivos RData.

miObjeto <- rnorm(10000)
save(miObjeto, file = "miObjeto.RData")
load("miObjeto.RData")
  • Mismo nombre para el archivo y el contenido del archivo.
  • Extension RData

Exportar datos de una tabla

La función genérica write() y la función write.table().

dfLetters <- data.frame(num = 1:26, letters = letters)
write.table(dfLetters, file = "myFiles/dfLetters.csv", 
  sep = ",", col.names = TRUE, row.names = FALSE)
read.table(file = "myFiles/dfLetters.csv", header = TRUE, sep = ",")

Exportar la consola

sink("misResultados")
  miObjeto <- rnorm(10000)
  summary(miObjeto)
  mean(miObjeto)
sink()

Exportar la consola

misResultados <- capture.output(
  miObjeto <- rnorm(10000),
  summary(miObjeto),
  mean(miObjeto)
)
cat("misResultados", misResultados, file = "misResultados.txt", 
  sep = "\n", append = TRUE)

Trabajar con servidores

Servidores

  • ssh
  • Rscript

SIGUIENTE