[R] sorting the data~
Philipp Pagel
p.pagel at wzw.tum.de
Thu Jun 5 09:05:25 CEST 2008
On Wed, Jun 04, 2008 at 07:36:04PM -0600, Manli Yan wrote:
> no,the id is variable of a table,such as:
> treatment id age response
> low 1 50 20
> low 1 60 30
> high 5 50 30
> high 5 60 40
>
> .......
>
> I want to rearranage the table according the id (increasing)
Ah - that's a different story. To sort your data frame by id:
foo <- foo[order(foo$id), ]
> ,since id is not strictly from 1~n,it is in increasing order but
> sometime jump through many number like 1 1 5 5,I like them to be 1 1 2
> 2~
foo$id <- as.integer(factor(foo$id))
seems to do what wou want, except I am not sure if factor is
guaranteed to encode the values in ascending order. If it isn't this is
a bad idea. Alternatively, this should work:
foo$id <- cumsum(as.logical(diff(foo$id))) + 1
I'm sure there is a more elegant way but can't think of one right now.
cu
Philipp
--
Dr. Philipp Pagel
Lehrstuhl für Genomorientierte Bioinformatik
Technische Universität München
Wissenschaftszentrum Weihenstephan
85350 Freising, Germany
http://mips.gsf.de/staff/pagel
More information about the R-help
mailing list