Marcos Santos
2014-May-28 20:46 UTC
[R] Creating a new column with the number of the observation
I have a "data frame" like this: Category Observed_value A 100 A 130 A 140 B 90 C 80 D 120 D 130 I need to create an index column that show the number of the observation for each category. I have three observations in the category A, one in category B, one in category C and two in category D. The new matrix should be like this: Category Observed_value Index A 100 1 A 130 2 A 140 3 B 90 1 C 80 1 D 120 1 D 130 2 Please, could anyone help me with this problem? Thank you. -- Marcos Martins Santos mmsantos.br@gmail.com -- Skype: marcosmartinssantos [[alternative HTML version deleted]]
Andrija Djurovic
2014-May-28 22:03 UTC
[R] Creating a new column with the number of the observation
Hi. Here is one approach:
x <- rep(c("A", "B", "C"), c(3,1,2))
DF <- data.frame(x, stringsAsFactors=FALSE)
cbind(DF, new_c=c(lapply(rle(DF$x)[[1]], function(x) 1:x), recursive=T))
Andrija
On Wed, May 28, 2014 at 10:46 PM, Marcos Santos
<mmsantos.br@gmail.com>wrote:
> I have a "data frame" like this:
>
> Category Observed_value A 100 A 130 A 140 B 90 C 80 D 120 D 130
>
> I need to create an index column that show the number of the observation
> for each category. I have three observations in the category A, one in
> category B, one in category C and two in category D. The new matrix should
> be like this:
>
>
> Category Observed_value Index A 100 1 A 130 2 A 140 3 B 90 1 C 80 1
> D 120 1 D 130 2
>
> Please, could anyone help me with this problem?
>
> Thank you.
> --
> Marcos Martins Santos
> mmsantos.br@gmail.com
> --
> Skype: marcosmartinssantos
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@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.
>
[[alternative HTML version deleted]]