[R] trouble with cumsum?
Dirk Eddelbuettel
edd at debian.org
Mon May 30 02:46:23 CEST 2005
On 29 May 2005 at 20:17, Makram Talih wrote:
 Dear R users,

 I am using R version 2.0.1 (2004/11/15) on an i386pcmingw32 platform. I
 encounter the following problem while using cumsum:

 > a < rep(0.01, 100)
 > b < cumsum(a)
 > sum(a) == 1
 [1] TRUE
 > b[100] == 1
 [1] FALSE

 Am I missing something?
Yes, FAQ section 7.31 entitled "Why doesn't R think these numbers are equal?".
 Should cumsum have such an outcome?
> a < rep(0.01, 100)
> b < cumsum(a)
> sum(a) == 1
[1] FALSE
> all.equal(sum(a), 1)
[1] TRUE
> all.equal(b[100], 1)
[1] TRUE
>
On my Linux system with R 2.1.0, the first equality fails whereas it "worked"
for you. Morale: don't forget about floatingpoint math ...
Hth, Dirk

Statistics: The (futile) attempt to offer certainty about uncertainty.
 Roger Koenker, 'Dictionary of Received Ideas of Statistics'
More information about the Rhelp
mailing list