Dear Ivan, It works perfectly fine now. I love this code more since I need not delete the NULL list myself (and it should be faster, right?). Thank you very much for your help!
cheers, Ray On Mon, Jan 28, 2013 at 5:32 PM, Ivan Calandra <ivan.calan...@u-bourgogne.fr > wrote: > What about this then: > list_of_datasets <- lapply(file_names, read.table, > other_args_to_read.table) > > Something that might then be useful is: > names(list_of_datasets) <- file_names > > Does it do it now? > > > 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 28/01/13 07:34, Ray Cheung a écrit : > >> Thanks a million for all help provided!! I can do what I intend to using >> the "for loop". However, I'm still eager to try the list.files approach. >> Here is the error message that I got using Ivan's code: >> >> > list_of_dataset <- do.call(read.table, file_names) >> Error in do.call(read.table, file_names) : second argument must be a list >> >> Please advise. >> >> Ray >> >> On Sun, Jan 27, 2013 at 10:57 PM, Ivan Calandra < >> ivan.calan...@u-bourgogne.fr >> <mailto:ivan.calandra@u-**bourgogne.fr<ivan.calan...@u-bourgogne.fr>>> >> wrote: >> >> Hi Ray! >> >> I'm insisting with list.files...! >> >> What about like this (untested)? >> file_names <- list.files(path="C:/.../data", pattern=".dat$", >> full.names=TRUE) >> list_of_dataset <- do.call(read.table, file_names) >> >> Let me know if this helps! >> 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 <tel:%2B33%280%293.80.39.63.**06> >> ivan.calan...@u-bourgogne.fr >> <mailto:ivan.calandra@u-**bourgogne.fr<ivan.calan...@u-bourgogne.fr> >> > >> >> >> http://biogeosciences.u-**bourgogne.fr/calandra<http://biogeosciences.u-bourgogne.fr/calandra> >> >> Le 26/01/13 10:03, Ray Cheung a écrit : >> >>> Thanks for your commands, Ivan and Michael! However, I am still >>> not producing the right codes. Would you please help me on >>> this? I've written the following codes. Please comment. Thank you >>> very much. >>> Task: Reading data1.dat to data1000.dat (with missing files) into >>> R. Missing files can be omitted in the list. >>> ###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 >>> } >>> ###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 >>> } >>> Thanks for all comments. >>> Best Regards, >>> Ray >>> >>> On Fri, Jan 25, 2013 at 5:48 PM, Ivan Calandra >>> <ivan.calan...@u-bourgogne.fr >>> <mailto:ivan.calandra@u-**bourgogne.fr<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 <tel:%2B33%280%293.80.39.63.**06> >>> ivan.calan...@u-bourgogne.fr >>> <mailto:ivan.calandra@u-**bourgogne.fr<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 <mailto: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 <mailto: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 <mailto: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.