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