[R] importing data

Ivan Calandra ivan.calandra at u-bourgogne.fr
Mon Jan 28 10:32:11 CET 2013


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.calandra at u-bourgogne.fr
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.calandra at u-bourgogne.fr <mailto:ivan.calandra at 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.calandra at u-bourgogne.fr <mailto:ivan.calandra at u-bourgogne.fr>
>     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.calandra at u-bourgogne.fr
>>     <mailto:ivan.calandra at 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.calandra at u-bourgogne.fr
>>         <mailto:ivan.calandra at u-bourgogne.fr>
>>         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
>>             <ray1728 at gmail.com <mailto:ray1728 at 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 at r-project.org <mailto:R-help at 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 at r-project.org <mailto:R-help at 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.
>>
>>
>



More information about the R-help mailing list