Hola Juan,

Una forma es la siguiente:

1.  Debes decirle a R donde estan los ficheros.  Para ello usa setwd()
2.  Determina el nombre de los ficheros.  Usa list.files()
3.  Toma el nombre de cada fichero, leelo y genera el data.frame() que
necesitas.  Al exportar el data.frame() usando write.table(), utiliza el
nombre del fichero correspondiente, pero colocando al principio algo como
"salida_" y luego el nombre del fichero seguido de ".txt" o algo similar.
4.  Para el grafico, podrias usar
        pdf()
        # instrucciones van aqui
        dev.off()
Dentro de pdf()  deberias colocar el nombre del fichero con la extension
".pdf" al final.

Supongamos que la funcion f1 toma el NOMBRE de un fichero y lo procesa, y
que la funcion f2 toma el NOMBRE del fichero y hace el grafico.  Podrias
hacer lo siguiente:

# set up
setwd(...)
archivos <- list.files(pattern = '.txt')  # asumiendo que los archivos son
.txt

# leerlos
info <- lapply(archivos, read.table, header = TRUE)

# procesarlos
lapply(info, f1)

# graficos
lapply(info, f2)

La estuctura de f1 seria algo como

f1 <- function(nombre){
 # hacer proceso
  info <- info[nombre]
  out <- ...   # contiene lo que quiero guardar
 write.table(out, paste0('salida_', nombre, '.txt'), ...)
}

y f2 seria algo como

f2 <- function(nombre){
pdf(paste0(nombre, '.pdf')
# hacer grafico
dev.off()
}

Algo que podrias hacer es integrar f2 y f1 como a continuacion:

f <- function(nombre){
 # hacer proceso
  info <- info[nombre]
  out <- ...   # contiene lo que quiero guardar
 write.table(out, paste0('salida_', nombre, '.txt'), ...)

# grafico
pdf(paste0(nombre, '.pdf')
# hacer grafico con el objeto info
dev.off()
}

Finalmente usarias

setwd(...)
archivos <- list.files(pattern = '.txt')  # asumiendo que los archivos son
.txt

# leerlos
info <- lapply(archivos, read.table, header = TRUE)

# procesarlos
lapply(info, f)

Espero sea de utilidad.

Saludos,
Jorge.-



2014-07-16 20:25 GMT+10:00 Juan Antonio Gil Pascual <[email protected]>:

> Estimados compañeros tengo que realizar un procedimiento a un conjunto de
> ficheros con unas mismas características. Todos están colocados en un
> subdirectorio. Como salida del procedimiento tengo un data.frame que puedo
> salvar en un fichero y un gráfico que salvaré en un pdf. En total son 144
> ficheros. ¿Cómo podría abordar el problema para no tener que crear los 144
> procedimientos?.
> Muchas gracias y un cordial saludo,
>
> Juan
>
> --
> Juan Antonio Gil Pascual
> Profesor de Metodología de la Investigación Cuantitativa
> correo: [email protected]
> web: www.uned.es/personal/jgil
>
> Dpto. MIDE
> Facultad de Educación
> c/Juan del Rosal, 14 desp. 2.72
> 28040 Madrid
> Tel'f. 91 3987279
> Fax. 91 3987288
>
> _______________________________________________
> R-help-es mailing list
> [email protected]
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

        [[alternative HTML version deleted]]

_______________________________________________
R-help-es mailing list
[email protected]
https://stat.ethz.ch/mailman/listinfo/r-help-es

Responder a