[R] Reading in files with variable parts to names

jim holtman jholtman at gmail.com
Fri Mar 27 15:18:50 CET 2009


Does this give you what you want (just did it in two steps);

> x <- expand.grid(year = sprintf("%04d", seq(1986, 1995)), month = sprintf("%02d", 1:12))
> filelist <- paste("C:\\Documents and Settings\\Data\\comp_runoff_hd_", paste(x$year, x$month, sep=''), '.asc', sep='')
>
>
>
>
> filelist
  [1] "C:\\Documents and Settings\\Data\\comp_runoff_hd_198601.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198701.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198801.asc"
  [4] "C:\\Documents and Settings\\Data\\comp_runoff_hd_198901.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199001.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199101.asc"
  [7] "C:\\Documents and Settings\\Data\\comp_runoff_hd_199201.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199301.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199401.asc"
 [10] "C:\\Documents and Settings\\Data\\comp_runoff_hd_199501.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198602.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198702.asc"
 [13] "C:\\Documents and Settings\\Data\\comp_runoff_hd_198802.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198902.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199002.asc"
 [16] "C:\\Documents and Settings\\Data\\comp_runoff_hd_199102.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199202.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199302.asc"
 [19] "C:\\Documents and Settings\\Data\\comp_runoff_hd_199402.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199502.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198603.asc"
 [22] "C:\\Documents and Settings\\Data\\comp_runoff_hd_198703.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198803.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198903.asc"
 [25] "C:\\Documents and Settings\\Data\\comp_runoff_hd_199003.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199103.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199203.asc"
 [28] "C:\\Documents and Settings\\Data\\comp_runoff_hd_199303.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199403.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199503.asc"
 [31] "C:\\Documents and Settings\\Data\\comp_runoff_hd_198604.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198704.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198804.asc"
 [34] "C:\\Documents and Settings\\Data\\comp_runoff_hd_198904.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199004.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199104.asc"
 [37] "C:\\Documents and Settings\\Data\\comp_runoff_hd_199204.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199304.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199404.asc"
 [40] "C:\\Documents and Settings\\Data\\comp_runoff_hd_199504.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198605.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198705.asc"
 [43] "C:\\Documents and Settings\\Data\\comp_runoff_hd_198805.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_198905.asc"
"C:\\Documents and Settings\\Data\\comp_runoff_hd_199005.asc"


On Fri, Mar 27, 2009 at 9:56 AM, Steve Murray <smurray444 at hotmail.com> wrote:
>
> Dear all,
>
> Thanks for the help in the previous posts. I've considered each one and have nearly managed to get it working. The structure of the filelist being produced is correct, except for a single space which I can't seem to eradicate! This is my amended code, followed by the first twelve rows of the output (it really goes up to 120 rows).
>
>>filelist <- paste("C:\\Documents and Settings\\Data\\comp_runoff_hd_",do.call(paste, expand.grid(year = sprintf("%04d", seq(1986,1995)), month = sprintf("%02d",1:12))),".asc", sep="")
>
>
>>filelist
>
>  [1] "C:\\Documents and Settings\\Data\\comp1986 01.asc"
>  [2] "C:\\Documents and Settings\\Data\\comp1987 01.asc"
>  [3] "C:\\Documents and Settings\\Data\\comp1988 01.asc"
>  [4] "C:\\Documents and Settings\\Data\\comp1989 01.asc"
>  [5] "C:\\Documents and Settings\\Data\\comp1990 01.asc"
>  [6] "C:\\Documents and Settings\\Data\\comp1991 01.asc"
>  [7] "C:\\Documents and Settings\\Data\\comp1992 01.asc"
>  [8] "C:\\Documents and Settings\\Data\\comp1993 01.asc"
>  [9] "C:\\Documents and Settings\\Data\\comp1994 01.asc"
>  [10] "C:\\Documents and Settings\\Data\\comp1995 01.asc"
>  [11] "C:\\Documents and Settings\\Data\\comp1986 02.asc"
>  [12] "C:\\Documents and Settings\\Data\\comp1987 02.asc"
>
>
> I've tried inserting sep="" after the 'month=sprintf("%02d",1:12)' but this doesn't appear to solve the problem - in fact it doesn't change the output at all...!
>
> Any help would be much appreciated,
>
> Steve
>
> ______________________________________________
> 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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?




More information about the R-help mailing list