Re: [R] R loop

From: Steven McKinney <smckinney_at_bccrc.ca>
Date: Thu, 05 Jun 2008 21:15:59 -0700

But note that you could do this in a vectorized fashion and not use a loop at all:

> a$wk <- (as.numeric((a$date - set)) %/% 7) + 1
> a

         x y date wk

1  2660156 6476767 2008-01-01  1
2  2660156 6476767 2008-01-01  1
3  2663703 6475013 2008-01-01  1
4  2663703 6475013 2008-01-01  1
5  2658165 6475487 2008-01-14  2
6  2658165 6475487 2008-01-14  2
7  2659303 6479659 2008-01-14  2
8  2659303 6479659 2008-01-14  2
9  2661531 6477004 2008-01-28  4
10 2660914 6476388 2008-01-28  4

>

-----Original Message-----
From: r-help-bounces_at_r-project.org on behalf of Steven McKinney Sent: Thu 6/5/2008 9:01 PM
To: Andrew McFadden; r-help_at_r-project.org Subject: Re: [R] R loop  

The bolding is lost in plain-text email, but some things to note:
:: for(i in a$date){ - this will make i take on date values,

   you probably meant i to index the rows of a[] :: you missed indexing in your replacements in the

   then and else clauses
:: you probably want some equalities in your test conditions,

   not all '<' '>' inequalities
:: need an extra condition for the 2 weeks test clause

for(i in seq(nrow(a))){
if (a$date[i]>=set & a$date[i]<set +7  ){a$wk[i]<-1}else
if (a$date[i]>=set +7 & a$date[i]<set +14 ){a$wk[i]<-2}else {a$wk[i]<-3}
}

> a

         x y date wk

1  2660156 6476767 2008-01-01  1
2  2660156 6476767 2008-01-01  1
3  2663703 6475013 2008-01-01  1
4  2663703 6475013 2008-01-01  1
5  2658165 6475487 2008-01-14  2
6  2658165 6475487 2008-01-14  2
7  2659303 6479659 2008-01-14  2
8  2659303 6479659 2008-01-14  2
9  2661531 6477004 2008-01-28  3
10 2660914 6476388 2008-01-28  3

-----Original Message-----
From: r-help-bounces_at_r-project.org on behalf of Andrew McFadden Sent: Thu 6/5/2008 8:46 PM
To: r-help_at_r-project.org
Subject: [R] R loop  

I all

I am just trying to get the idea of a loop if statement for another purpose. I was going to label a new variable based on date ie first week 1, second week 2 etc. My code in bold is wrong but seems logical to me, could someone help.

x <-
rep(c(2660156,2663703,2658165,2659303,2661531,2660914),c(2,2,2,2,1,1)) y <-
rep(c(6476767,6475013,6475487,6479659,6477004,6476388),c(2,2,2,2,1,1)) date <- rep(as.Date(c("2008-01-01","2008-01-14","2008-01-28"), format

for(i in a$date){
if (a$date[i]>set & a$date[i]<set +7  ){a$wk<-1}else
if (a$date[i]>set +7){a$wk<-2}else {a$wk<-3}
}
a

Kind regards

andy

Andrew McFadden MVS BVSc
Incursion Investigator
Investigation & Diagnostic Centres - Wallaceville Biosecurity New Zealand Ministry of Agriculture and Forestry

Phone 04 894 5600 Fax 04 894 4973 Mobile 029 894 5611 Postal address: Investigation and Diagnostic Centre- Wallaceville Box 40742 Ward St Upper Hutt

########################################################################
This email message and any attachment(s) is intended solely for the addressee(s) named above. The information it contains is confidential and may be legally privileged. Unauthorised use of the message, or the information it contains, may be unlawful. If you have received this message by mistake please call the sender immediately on 64 4 8940100 or notify us by return email and erase the original message and attachments. Thank you.

The Ministry of Agriculture and Forestry accepts no responsibility for changes made to this email or to any attachments after transmission from the office.

########################################################################

	[[alternative HTML version deleted]]

______________________________________________
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.

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.

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. Received on Fri 06 Jun 2008 - 06:20:55 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 06 Jun 2008 - 07:30:42 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive