[R] :Problem with Looping

Nordlund, Dan (DSHS/RDA) NordlDJ at dshs.wa.gov
Wed Nov 18 00:37:33 CET 2009


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On
> Behalf Of Bruno Giovannetti
> Sent: Tuesday, November 17, 2009 3:18 PM
> To: r-help at r-project.org
> Subject: [R] :Problem with Looping
> 
> Hello,
> 
> Sometimes the looping (using "for") seems to skip some iterations.
> 
> An example:
> 
> arg <- matrix(NA,length(seq(.30,.5,.01)),1)
> for (i in seq(.30,.5,.01)) {
> arg[i*100-29] <- i
> }
> arg
> 
> What is the problem with this coding, please?
> 
> Thank you so much,
> --
> Bruno Cara Giovannetti, PhD Candidate
> Economics Department
> Columbia University
> Personal Webpage: www.columbia.edu/~bcg2108

Don't use floating point operations in your indexing.  You may also want to change how you generate your sequence.  This is a floating point representation problem. See FAQ 7.31.  Try something like this

arg <- matrix(NA,length(seq(30,50,1)),1)
for (i in seq(30,50,1)) {arg[i-29] <- i/100 }

Hope this is helpful,

Dan

Daniel J. Nordlund
Washington State Department of Social and Health Services
Planning, Performance, and Accountability
Research and Data Analysis Division
Olympia, WA  98504-5204




More information about the R-help mailing list