[R] Reading in files with variable parts to names

Rowe, Brian Lee Yung (Portfolio Analytics) B_Rowe at ml.com
Thu Mar 26 20:04:57 CET 2009

Try this to generate your year/month combinations:

> expand.grid(year=1986:1995, month=1:12)

Obviously you'll have to format the months.

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of Steve Murray
Sent: Thursday, March 26, 2009 2:40 PM
To: r-help at r-project.org
Subject: [R] Reading in files with variable parts to names

Dear all,

I'm trying to read in a whole directory of files which have two variable
parts to the file name: year and month. E.g. comp198604.asc represents
April of 1986 - 'comp' is fixed in each case. Years range between 1986
to 1995 and months are between 1 and 12.

Just to be clear, there are 12 files associated with each year: e.g.
comp198601, comp198602, ... comp198612  through to comp199501,
comp199502 ... comp199512.

I am trying to automate the reading in of these files, but am struggling
to find an adequate way of achieving this. The closest I've got is by

year <- 1986:1995
month <- sprintf("%02d", 1:12)  # formats numbers to 2 digits (for
maintaining leading zeros in file names)

filelist <- paste("C:\\Documents and
Settings\\Data\\comp",year,month,".asc", sep="")


 [1] "C:\\Documents and Settings\\Data\\comp198601.asc"
 [2] "C:\\Documents and Settings\\Data\\comp198702.asc"
 [3] "C:\\Documents and Settings\\Data\\comp198803.asc"
 [4] "C:\\Documents and Settings\\Data\\comp198904.asc"
 [5] "C:\\Documents and Settings\\Data\\comp199005.asc"
 [6] "C:\\Documents and Settings\\Data\\comp199106.asc"
 [7] "C:\\Documents and Settings\\Data\\comp199207.asc"
 [8] "C:\\Documents and Settings\\Data\\comp199308.asc"
 [9] "C:\\Documents and Settings\\Data\\comp199409.asc"
[10] "C:\\Documents and Settings\\Data\\comp199510.asc"
[11] "C:\\Documents and Settings\\Data\\comp198611.asc"
[12] "C:\\Documents and Settings\\Data\\comp198712.asc"

I need 1986 to remain fixed whilst it cycles through 01 to 12, before it
moves onto 1987 and cycles again. There should be 120 outputs in total
(10 years each with 12 months), but at present it's only reaching 12

I'd be grateful to learn what I'm doing wrong here so that I can solve

Many thanks as ever,


 25GB of FREE Online Storage - Find out more

R-help at r-project.org mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.

This message w/attachments (message) may be privileged, confidential or proprietary, and if you are not an intended recipient, please notify the sender, do not use or share it and delete it. Unless specifically indicated, this message is not an offer to sell or a solicitation of any investment products or other financial product or service, an official confirmation of any transaction, or an official statement of Merrill Lynch. Subject to applicable law, Merrill Lynch may monitor, review and retain e-communications (EC) traveling through its networks/systems. The laws of the country of each sender/recipient may impact the handling of EC, and EC may be archived, supervised and produced in countries other than the country in which you are located. This message cannot be guaranteed to be secure or error-free. References to "Merrill Lynch" are references to any company in the Merrill Lynch & Co., Inc. group of companies, which are wholly-owned by Bank of America Corporation. Securities and Insurance Products: * Are Not FDIC Insured * Are Not Bank Guaranteed * May Lose Value * Are Not a Bank Deposit * Are Not a Condition to Any Banking Service or Activity * Are Not Insured by Any Federal Government Agency. Attachments that are part of this E-communication may have additional important disclosures and disclaimers, which you should read. This message is subject to terms available at the following link: http://www.ml.com/e-communications_terms/. By messaging with Merrill Lynch you consent to the foregoing.

More information about the R-help mailing list