[R] Basic loop programming

Jose Iparraguirre Jose.Iparraguirre at ageuk.org.uk
Wed Jan 9 17:27:33 CET 2013

Hi Paolo,

You say you have monthly observations of two variables, say Sales and Customers. 

Then, what you should have is something like this:

Year Month	 Sales  Customer
2012	Jan	ss_12.1 cc_12.1
2012	Feb	ss_12.2 cc_12.2
...	...	  ...	    ...
2013	Jan	ss_13.1 cc_13.1	
2013	Feb	ss_13.2 cc_13.2
...	...	  ...     ...

where ss_YY.M and cc_ YY.M are numerical values (the total sales and number of customers for year YY and month M, respectively). For example,

Year Month	Sales	Customer
2012	Jan	100 	25
2012	Feb	120 	30
...	...	...	...

If this is the case, and you have the data in a data frame (say df), all you need to do to create a new column in your data frame with the average revenue is:

> df$Av_revenue <- df$Sales/ df$Customer
You can omit df$ from the instruction above if you want to create the object Av_revenue but not include it in the data frame.

I am not getting it right, would you please send us the first three or four lines of your data?



-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Paolo Donatelli
Sent: 09 January 2013 16:03
To: r-help at r-project.org
Subject: [R] Basic loop programming

Hi all,

newbie question: I am trying to set up a very simple loop without succeeding.

Let's say I have monthly observation of two variables for a year
- Sales_2012_01, Sales_2012_02, Sales_2012_03, ....      (total sales
for jan 2012,feb 2012, etc.)
- Customers_2012_01, Customers_2012_02, ....  (total number of
customers for jan 2012, etc.)

and I want to create new monthly variables in order to compute
revenues per customers:

Av_revenue_2012_01 = Sales_2012_01 / Customers_2012_01
Av_revenue_2012_02 = Sales_2012_02 / Customers_2012_02

how can I proceed?

In other programming language I used just to write something like
for (i in list("01","02, ..., "12") {
Av_revenue_2012_'i' = Sales_2012_'i' / Customers_2012_'i'

but in R it seems not to work like that. Further, and correct me if I
am wrong, I cannot use simple (i in 1:12) since I have a 0 digit in
front of the single-digit months.

thanks in advance for your help

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

Wrap Up and Run 10k is back! 

Also, new for 2013 – 2km intergenerational walks at selected venues. So recruit a buddy, dust off the trainers and beat the winter blues by 
signing up now:


                 Milton Keynes | Oxford | Sheffield | Crystal Palace | Exeter | Harewood House, Leeds | 
                                 Tatton Park, Cheshire | Southampton | Coventry

Age UK Improving later life



Age UK is a registered charity and company limited by guarantee, (registered charity number 1128267, registered company number 6825798). 
Registered office: Tavis House, 1-6 Tavistock Square, London WC1H 9NA.

For the purposes of promoting Age UK Insurance, Age UK is an Appointed Representative of Age UK Enterprises Limited, Age UK is an Introducer 
Appointed Representative of JLT Benefit Solutions Limited and Simplyhealth Access for the purposes of introducing potential annuity and health 
cash plans customers respectively.  Age UK Enterprises Limited, JLT Benefit Solutions Limited and Simplyhealth Access are all authorised and 
regulated by the Financial Services Authority. 

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are 
addressed. If you receive a message in error, please advise the sender and delete immediately.

Except where this email is sent in the usual course of our business, any opinions expressed in this email are those of the author and do not 
necessarily reflect the opinions of Age UK or its subsidiaries and associated companies. Age UK monitors all e-mail transmissions passing 
through its network and may block or modify mails which are deemed to be unsuitable.

Age Concern England (charity number 261794) and Help the Aged (charity number 272786) and their trading and other associated companies merged 
on 1st April 2009.  Together they have formed the Age UK Group, dedicated to improving the lives of people in later life.  The three national 
Age Concerns in Scotland, Northern Ireland and Wales have also merged with Help the Aged in these nations to form three registered charities: 
Age Scotland, Age NI, Age Cymru.

More information about the R-help mailing list