################################################################################ ### TALLER SOBRE FUNDAMENTOS DE R ### ### PRESENTACIÓN 4: ABRIR Y GUARDAR ARCHIVOS DE DATOS ### ### ### ### Center for Conservation and Sustainable Development ### ### Missouri Botanical Garden ### ### Sitio en la red: rbasicsworkshop.weebly.com ### ################################################################################ ### A. DIRECTORIO DE TRABAJO ################################################### # El directorio de trabajo es la carpeta en la cual R escribe y lee # archivos de manera pre-determinada. # Para averiguar cuál es el directorio de trabajo activo en una sesión: getwd() # Para cambiar el directorio de trabajo: # setwd(dir="dirección de la carpeta"), por ejemplo: setwd("C:/_transfer/RBasicsWorkshop/RBasicsWorkshop_Abril2018_UN/Datasets/ExcelFiles") # Aquí­ es imporant fijarse que las barras oblicuas son hacia adelante */*, no hacia atrás *\* getwd() # Asegurese que el cambio del directorio de trabajo se efectuó ## IMPORTANTE: El directorio de trabajo también puede cambiarse utilizando # el menú en la parte superior de la ventana de R. # En Windows: File - Change Dir # En Mac: Misc - Change Working Directory # el sigueinte código genera un listado d los archivos y carpetas en el #directorio de trabajo: list.files() ### B. PRINCIPALES FUNCIONES PARA ABRIR Y GUARDAR ARCHIVOS ##################### # 1. read.table: abre marco de datos # 2. load: abre objetos de R # 3. source: abre un 'script' de R # 4. write.table: guarda un marco de datos # 5. save: guarda objetos de R ### C. ABRIR UNA TABLA DE DATOS ################################################ help(read.table) ## PRINCIPALES ARGUMENTOS: # 1. file: El nombre del archivo a abrir - y su dirección si el archivo no está # en el directorio de trabajo. # 2. header: TRUE o FALSE. TRUE si la primera fila del archivo representa # los nombres de las columnas. # 3. sep: El caracter que se usa para separar valores, más frecuentemente: "\t" # o ",". ## PASO 1. GUARDAR EL ARCHIVO COMO UN ARCHIVO DE TEXTO ######################### # 1.1. Abrir el archivo en excel # 1.2. Selecionar "guardar como". Escoger una de dos opciones: texto delimitado # por tabulaciones, o texto deliminato por comas (tipicamente ".cvs") # 1.3. Cerrar el archivo en excel ## PASO 2. USAR LA FUNCION *read.table* ######################################## ## OPCION 2.1: usando *file.choose()* para abrir una ventana y buscar el archivo streb.data <- read.table(file=file.choose(), header=TRUE, sep="\t") # ­Es importante asegurarse de que el argumento *sep* sea el correcto. Si el # archivo tiene datos separados por tabulaciones use *sep="\t"*; si son datos # separados por comas use *sep=","*. # OPCION 2.2: definiendo el "directorio de trabajo" como la carpeta que contiene # el archivo getwd() # Este código sirve para averiguar el directorio de trabajo actual # El siguiente código crea un objeto con nombre *dir.to.open* que tiene la dirección del # directorio de trabajo. dir.to.open <- "C:/_transfer/RBasicsWorkshop/RBasicsWorkshop_Abril2018_UN/Datasets/TextFiles" # El siguiente código cambia el directorio de trabajo. setwd(dir.to.open) # Esto abre el archivo "streblidaeonbats.txt" que está en el directorio de trabajo. streb.data <- read.table(file="streblidaeonbats.txt", header=TRUE, sep="\t") # OPCION 2.3: escribiendo directamente en el agumento *file* la dirección y nombre del # archivo que se quiere abrir streb.data <- read.table(file="C:/_transfer/RBasicsWorkshop/RBasicsWorkshop_Abril2018_UN/Datasets/TextFiles/streblidaeonbats.txt", header=TRUE, sep="\t") # este código es equivalente: dir.to.open <- "C:/Users/stello/Dropbox/Teaching/R_Basics_Workshop/RBasicsWorkshopMaterials/3_Datasets" streb.data <- read.table(file=paste(dir.to.open, "streblidaeonbats.txt", sep="/"), header=TRUE, sep="\t") ## PASO 3. REVISAR QUE LOS DATOS SE HAN LEIDO CORRECTAMENTE ################## ## IMPORTANTE: *read.table* siempre pone los datos en un marco de datos class(streb.data) dim(streb.data) names(streb.data) head(streb.data) ### D. GUARDAR UNA TABLA DE DATOS ############################################## help(write.table) ## PRINCIPALES ARGUMENTOS: # 1. x: El objeto (marco de datos o matriz) a grabar en un archivo # 2. file: El nombre del archivo a crear - y su dirección si uno quiere el # archivo en una carpeta distinta al directorio de trabajo actual. # 3. sep: El caracter que se usa para separar valores, frecuentemente: "\t" # o ",". abund.data <- data.frame(letters, rpois(length(letters), lambda=5)) colnames(abund.data) <- c("sp", "abundance") rownames(abund.data) <- paste("ind", 1:nrow(abund.data)) abund.data # Este es el marco de datos creado en las líneas anteriores de código ## OPCIÓN 1: guardar directo en el directorio de trabajo write.table(x=abund.data, file="abund_data.txt", sep=",") ## OPCIÓN 2: guardar en otro directorio distinto del directorio de trabajo dir.to.write <- "C:/_transfer/RBasicsWorkshop/RBasicsWorkshop_Abril2018_UN/Datasets/TextFiles" write.table(x=abund.data, file=paste(dir.to.write, "abund_data.txt", sep="/"), sep=",")