[R] numbering observations: help please!

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Wed Nov 14 08:41:51 CET 2012


On Tue, 13 Nov 2012, Paul Artes wrote:

> Dear Friends,
>
> I have the very simple problem of needing to number observations in a data
> frame. After scratching the rest of my hair off my head without inspiration,
> I'm using a silly loop. I'm sure that there is a much more elegant and
> faster solution - can anyone help?
>
> Here is an example:
>
> my.data <- data.frame (person=c(1,1,1,1,2,2,3,3,3,3,3,3,3,4,4,4))   # now I
> want to number those observations sequentially
> # for each person
>
> my.data$item.number <- 0
> for (i in 1:length(unique(my.data$person))) {
> 	my.data$item.number [which (my.data$person == unique(my.data$person)[i])]
> <- seq (1:dim(tmp)[1]) }

Dunno what "tmp" is... but try this:

my.data$item.number <- 1
my.data$item.number <- ave( my.data$item.number, my.data$person, 
FUN=cumsum )

---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                       Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k




More information about the R-help mailing list