Alternatives to sprintf() include formatC() or
prettyNum(), which would have to be used in
combination with paste().
In Carl's solution, the file.path() function
should be considered, since it automatically uses
the correct path separators for the OS.
Furthermore, eval() is not necessary.
So, for example,
x <- formatC(scan(),width=4,flag='0')
1: 23
2:
Read 1 item
x
[1] "0023"
root.dir <- 'D:\R\Data'
read.csv(
file.path(root.dir,x,paste(x,'.csv',sep=''))) ##
those are all single quotes
This isn't necessarily better than the sprintf()
version, just different, and shows some
additional useful functions(). This way of using
formatC() requires that the user input only
numbers:
x <- formatC(scan(),width=4,flag='0')
1: jk
1:
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
scan() expected 'a real', got 'jk'
I don't know what sprintf() would do with such input.
-Don
At 7:01 PM -0400 9/10/09, Carl Witthoft wrote:
That will not work (or at least doesn't work for me.
This does work:
fnam<-'thefilename.csv' #or build the name however you like
fpath <- 'macintoshhd/users/me/myfolder/ # or whatever you need
read.csv(eval(paste(fpath,fnam,sep="")) #worked for me
Carl
-----------
Try this:
read.csv(sprintf("D://R//Data//%04d//%04d.csv", x, x), header = TRUE)
On Wed, Sep 9, 2009 at 9:32 PM, Steven Kang <stochastick...@gmail.com>wrote:
Dear R users,
I have numerous data sets (csv files) saved in the folder which has the
same
name as individual data.
(i.e data x1 saved in x1 folder, data x2 in x2 folder etc)
I would like to read in the desired data set name using 'scan' function and
assign this inputted value to an object so that it can be used in the
'read.csv' function.
For example,
x <- scan()
1: 0708
2:
Read 1 item
dat <- read.csv("D://R//Data//x//x.csv", head=TRUE, sep = ",")
Error in file(file, "r") : cannot open the connection
In addition: Warning message:
In file(file, "r") :
cannot open file ('D://R//Data//x//x.csv': No such file or directory
--
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O
______________________________________________
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.
--
---------------------------------
Don MacQueen
Lawrence Livermore National Laboratory
Livermore, CA, USA
925-423-1062
m...@llnl.gov
______________________________________________
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.