[Rd] cumprod doesn't work with data frames (PR#2667)
ripley at stats.ox.ac.uk
ripley at stats.ox.ac.uk
Sat Mar 22 07:33:54 MET 2003
A data frame is not numerical: it can contain character, factor, list and
other variables. It is `list-like'. cumprod works column by column
via the group generic functions:
> xx <- data.frame(a=1:5, b=rep(1,5))
> xx
a b
1 1 1
2 2 1
3 3 1
4 4 1
5 5 1
> cumprod(xx)
a b
1 1 1
2 2 1
3 6 1
4 24 1
5 120 1
as intended. See ?Arith (and there are data.frame methods for the Arith
group generic).
In short; not a bug.
On Sat, 22 Mar 2003 jsisk1 at pacbell.net wrote:
> Full_Name: J. Sisk
> Version: 1.6.1
> OS: Linux (RedHat 8)
> Submission from: (NULL) (67.119.41.66)
>
>
> Suppose you make a data-frame like so:
>
> xxx <- data.frame(a=10,b=20,c=30,d=40)
>
> Then
>
> cumprod(xxx[1,])
>
> returns
>
> > cumprod(xxx[1,])
> a b c d
> 1 10 20 30 40
>
> The documentation for cumprod says that it should work on "numerical objects",
> and this is a data-frame, but it seems like it ought to "do the right thing" in
> this case. If this is redundant, my apologies.
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list