Hi Ray, Comments below: On 26 January 2013 09:03, Ray Cheung <ray1...@gmail.com> wrote: [snip] > ###FUNCTION TO READ FILES > little_helpful <- function(n) { > file_name <- paste0("C:/.../data", n, ".dat") > read.table(file_name) > } > > ###RETURN AN OBJECT WHICH CHECKS FOR THE EXISTENCE OF FILES > check <- function(n) { > a <- ifelse(file.exists(paste0("C:/.../data", n, ".dat")), 1, 0) > a > }
Too complex. Why not just use file.exists directly? > ###Combining the functions > IMPORT <- function(n) { > L <- check(1:n) > for (i in 1:n) { > if (L[i] == 1) > list_of_datasets <- lapply(i, little_helpful) else list_of_datasets > <- 0 > } > list_of_datasets > } > Too complex here too. I suggest something like: M <- list() for (i in 1:n) { > file_name <- paste0("C:/.../data", n, ".dat") if (file.exists(file_name)) M[i] <- read.table(file_name) } R gurus don't like for() loops, but they are easy for humans to understand. If this doesn't work, post the error message. > Thanks for all comments. > > Best Regards, > Ray > > On Fri, Jan 25, 2013 at 5:48 PM, Ivan Calandra <ivan.calan...@u-bourgogne.fr >> wrote: > >> Hi, >> >> Not sure this is what you need, but what about list.files()? >> It can get you all the files from a given folder, and you could then work >> this list with regular expressions for example. >> >> HTH, >> Ivan >> >> -- >> Ivan CALANDRA >> Université de Bourgogne >> UMR CNRS/uB 6282 Biogéosciences >> 6 Boulevard Gabriel >> 21000 Dijon, FRANCE >> +33(0)3.80.39.63.06 >> ivan.calan...@u-bourgogne.fr >> http://biogeosciences.u-**bourgogne.fr/calandra<http://biogeosciences.u-bourgogne.fr/calandra> >> >> Le 25/01/13 10:00, R. Michael Weylandt a écrit : >> >>> On Fri, Jan 25, 2013 at 6:11 AM, Ray Cheung <ray1...@gmail.com> wrote: >>> >>>> Dear Michael, >>>> >>>> Thanks for your codes. However, lapply does not work in my case since >>>> I've >>>> some files missing in the data (say, the file data101.dat). Do you have >>>> any >>>> suggestions on this?? Thank you very much. >>>> >>>> You could simply add a test using file.exists() but I'm not sure what >>> you want to do with the M matrix then -- omit the slice (so the others >>> are all shifted down one) or fill it entirely with NA's. >>> >>> Michael >>> >>> ______________________________**________________ >>> R-help@r-project.org mailing list >>> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help> >>> PLEASE do read the posting guide http://www.R-project.org/** >>> posting-guide.html <http://www.R-project.org/posting-guide.html> >>> and provide commented, minimal, self-contained, reproducible code. >>> >>> >> ______________________________**________________ >> R-help@r-project.org mailing list >> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help> >> PLEASE do read the posting guide http://www.R-project.org/** >> posting-guide.html <http://www.R-project.org/posting-guide.html> >> and provide commented, minimal, self-contained, reproducible code. >> > > [[alternative HTML version deleted]] > > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.