Re: [R] how to add row index based a categorical column

From: Joshua Wiley <jwiley.psych_at_gmail.com>
Date: Fri, 27 May 2011 13:46:03 -0700

Hi,

This seems to work (although I have this sense that I am missing something, but I cannot put my finger on it). There are undoubtedly other ways:

## data in a form ready for copy and pasting (created using dput() ) dat <- structure(list(value = c(4L, 5L, 2L, 10L, 9L, 34L, 100L, 34L, 101L), level = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L, 3L ), .Label = c("A", "B", "C"), class = "factor"), rank = c(2L, 3L, 1L, 2L, 1L, 3L, 2L, 1L, 3L)), row.names = c(NA, -9L), .Names = c("value", "level", "rank"), class = "data.frame")

## add a variable, 'rank' that does what you want dat[order(dat$value), "rank"] <- with(dat[order(dat$value), ],   ave(value, level, FUN = seq_along))

HTH, Josh

On Fri, May 27, 2011 at 12:12 PM, xin wei <xinwei_at_stat.psu.edu> wrote:
> hello, I have the following data manipulation issue. the following is the
> sample data:
>
> value level
> 4       A
> 5       A
> 2       A
> 10     B
> 9       B
> 34     B
> 100   C
> 34     C
> 101    C.
>
> I hope to get the following result:
> value level  rank
> 2       A       1
> 4       A       2
> 5       A       3
> 9       B       1
> 10      B      2
> 34      B      3
> 34      C      1
> 100    C       2
> 101    C.      3
>
> as you may see, I need the data sorted and indexed within each level of
> "level". what do I need to do calculate the rank variable?
>
> thanks,
>
> --
> View this message in context:
http://r.789695.n4.nabble.com/how-to-add-row-index-based-a-categorical-column-tp3556126p3556126.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

-- 
Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles
http://www.joshuawiley.com/

______________________________________________
R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
Received on Fri 27 May 2011 - 20:48:03 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 27 May 2011 - 21:00:10 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive