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