Páginas

lunes, 16 de junio de 2014

R Programming: Como combinar multiples archivos en un mismo Dataset

Asumiendo que cada uno de los archivos esté estructurado de forma similar, mismo numero de columnas con los mismos titulos (Los nombres de las columnas se conocen como variables). La clave es hacer un For Loop en el directorio de los archivos y luego irlos combinando las filas con la funcion rbind()

Lo primero que hay que hacer es fijar el working directory al folder donde se encuentran los archivos a combinar, con la funcion setwd("target_dir/")

Luego se obtiene un listado de todos los archivos dentro de ese directorio y se lo carga a una variable. Se usa la funcion:

file_list = list.files()

No es necesario especificar la ruta, toma los archivos del working directory especificado.

Luego se hace un for loop por cada "file" en la variable file_list:



for (file in file_list){
       
  # dataset es la variable donde vamos a ir acumulado los datos
# si no existe la variable, se la crea asignando el valor de la tabla en
# el primer archivo del loop:

  if (!exists("dataset")){
    dataset <- read.table(file, header=TRUE, sep="\t")
  }
   
  # si ya existen datos en la variable dataset, se crea una variable temporal
# donde se van a guardar los datos del archivo corriente en el loop y
# luego se lo une a la variable dataset con la funcion rbind()
# y luego del rbind se borra el contenido de la variable temporal.

  if (exists("dataset")){
    temp_dataset <-read.table(file, header=TRUE, sep="\t")
    dataset<-rbind(dataset, temp_dataset)
    rm(temp_dataset)
  }

}


El articulo completo: http://www.r-bloggers.com/merge-all-files-in-a-directory-using-r-into-a-single-dataframe/

No hay comentarios:

Publicar un comentario