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