Hola, Alguien podría ayudarme en la siguiente cuestión: Trato de abrir múltiples archivos ncDF para dejarlos disponibles para trabajar luego con ellos. Intento hacerlo con un blucle pero no consigo lo que quiero. El código es el siguiente: setwd("/Users/jaime/Desktop/2008") a<-list.files() a library(ncdf) for (i in 1:length(a)) { file[i]<-open.ncdf(paste(''/Users/jaime/Desktop/2008/'',a[i],sep='''')) } Obteniendo el siguiente error: Error en file[i] <- open.ncdf(paste("/Users/jaime/Desktop//2008/", : object of type ''closure'' is not subsettable Mi intención es que file[1] sea el primer archivo que se abre, file[2] el segundo y así sucesivamente, pero obviamente estoy haciendo algo mal y no sé lo que es. Gracias por vuestra ayuda. Saludos Jaime [[alternative HTML version deleted]]
Hola, ¿Puedes darnos el detalle de lo que contiene "a"? ¿El error te ocurre con la primera ejecución del bucle? Saludos, Carlos Ortega www.qualityexcellence.es El 15 de febrero de 2012 20:59, Jaime Otero Villar <j.o.villar@bio.uio.no>escribió:> Hola, > > Alguien podría ayudarme en la siguiente cuestión: > > Trato de abrir múltiples archivos ncDF para dejarlos disponibles para > trabajar luego con ellos. Intento hacerlo con un blucle pero no > consigo lo que quiero. El código es el siguiente: > > > setwd("/Users/jaime/Desktop/2008") > a<-list.files() > a > > library(ncdf) > > for (i in 1:length(a)) { > file[i]<-open.ncdf(paste(''/Users/jaime/Desktop/2008/'',a[i],sep='''')) > } > > Obteniendo el siguiente error: > > Error en file[i] <- open.ncdf(paste("/Users/jaime/Desktop//2008/", : > object of type ''closure'' is not subsettable > > Mi intención es que file[1] sea el primer archivo que se abre, file[2] > el segundo y así sucesivamente, pero obviamente estoy haciendo algo > mal y no sé lo que es. > > Gracias por vuestra ayuda. > > Saludos > > Jaime > > > > > > > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >-- Saludos, Carlos Ortega www.qualityexcellence.es [[alternative HTML version deleted]]
Hola, ¿qué tal? file es una función. Por lo que no puedes hacer file[1]:> file[1]Error in file[1] : object of type 'closure' is not subsettable Supongo que quieres crear una lista (vacía) que se llame de alguna manera (no "file") antes del bucle. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com El día 15 de febrero de 2012 20:59, Jaime Otero Villar <j.o.villar en bio.uio.no> escribió:> Hola, > > Alguien podría ayudarme en la siguiente cuestión: > > Trato de abrir múltiples archivos ncDF para dejarlos disponibles para > trabajar luego con ellos. Intento hacerlo con un blucle pero no > consigo lo que quiero. El código es el siguiente: > > > setwd("/Users/jaime/Desktop/2008") > a<-list.files() > a > > library(ncdf) > > for (i in 1:length(a)) { > file[i]<-open.ncdf(paste('/Users/jaime/Desktop/2008/',a[i],sep='')) > } > > Obteniendo el siguiente error: > > Error en file[i] <- open.ncdf(paste("/Users/jaime/Desktop//2008/", : > object of type 'closure' is not subsettable > > Mi intención es que file[1] sea el primer archivo que se abre, file[2] > el segundo y así sucesivamente, pero obviamente estoy haciendo algo > mal y no sé lo que es. > > Gracias por vuestra ayuda. > > Saludos > > Jaime > > > > > > > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >
Hola Jaime, Si "a" contiene los _nombres_ de los archivos ncdf que quieres leer, entonces lapply() deberia funcionar setwd("/Users/jaime/Desktop/2008") a <- list.files() library(ncdf) info <- lapply(a, open.ncdf) str(info) Un saludo, Jorge.- 2012/2/15 Jaime Otero Villar <>> Hola, > > Alguien podría ayudarme en la siguiente cuestión: > > Trato de abrir múltiples archivos ncDF para dejarlos disponibles para > trabajar luego con ellos. Intento hacerlo con un blucle pero no > consigo lo que quiero. El código es el siguiente: > > > setwd("/Users/jaime/Desktop/2008") > a<-list.files() > a > > library(ncdf) > > for (i in 1:length(a)) { > file[i]<-open.ncdf(paste(''/Users/jaime/Desktop/2008/'',a[i],sep='''')) > } > > Obteniendo el siguiente error: > > Error en file[i] <- open.ncdf(paste("/Users/jaime/Desktop//2008/", : > object of type ''closure'' is not subsettable > > Mi intención es que file[1] sea el primer archivo que se abre, file[2] > el segundo y así sucesivamente, pero obviamente estoy haciendo algo > mal y no sé lo que es. > > Gracias por vuestra ayuda. > > Saludos > > Jaime > > > > > > > > > > [[alternative HTML version deleted]] > > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > >[[alternative HTML version deleted]]
Jaime Otero Villar <j.o.villar en bio.uio.no> writes:> Hola, > > Alguien podría ayudarme en la siguiente cuestión: > > Trato de abrir múltiples archivos ncDF para dejarlos disponibles para > trabajar luego con ellos. Intento hacerlo con un blucle pero no > consigo lo que quiero. El código es el siguiente: > > > setwd("/Users/jaime/Desktop/2008") > a<-list.files() > a > > library(ncdf) > > for (i in 1:length(a)) { > file[i]<-open.ncdf(paste('/Users/jaime/Desktop/2008/',a[i],sep='')) > } >Hola, Además de tener en cuenta el comentario que hace Carlos GB, yo te recomiendo que uses el paquete "raster". Tiene muchas funcionalidades que te harán muy fácil el uso de este tipo de archivos. En tu caso, para abrir los ficheros el código es: setwd("/Users/jaime/Desktop/2008") a <- list.files() library(raster) s <- stack(a) s Saludos. Oscar. -- Oscar Perpiñán Lamigueiro Dpto. de Ingeniería Eléctrica EUITI-UPM http://procomun.wordpress.com