[R] count value changes in a column
Bill.Venables at csiro.au
Bill.Venables at csiro.au
Wed Jun 1 04:22:20 CEST 2011
I thought so to. If so, here is one way you could do it
fixSeq <- function(state) {
shift1 <- function(x) c(1, x[-length(x)])
repeat {
change <- state %in% c(4,5) & shift1(state) == 3
if(any(change))
state[change] <- 3 else break
}
state
}
e.g.
> state
[1] 1 3 3 5 5 3 2 4 2 1 5 3 3 5
> fixSeq(state)
[1] 1 3 3 3 3 3 2 4 2 1 5 3 3 3
>
For the data frame:
> set.seed(144)
> dfr <- data.frame(state = sample(rep(1:5,200)))
>
> dfr <- within(dfr, changed <- fixSeq(state))
> head(dfr, 11)
state changed
1 5 5
2 2 2
3 1 1
4 5 5
5 2 2
6 1 1
7 1 1
8 4 4
9 3 3
10 5 3 ### <<--- change
11 3 3
>
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of jim holtman
Sent: Wednesday, 1 June 2011 11:20 AM
To: Justin Haynes
Cc: r-help at r-project.org
Subject: Re: [R] count value changes in a column
Why isn't the sequence:
1 3 3 3 3 3 2 4 2 1 5 3 3 3
according to your rule about 5s following 3s.
On Tue, May 31, 2011 at 6:23 PM, Justin Haynes <jtor14 at gmail.com> wrote:
> is there a way to look for value changes in a column?
>
> set.seed(144)
> df<-data.frame(state=sample(rep(1:5,200),1000))
>
> any of the five states are acceptable. however if, for example,
> states 4 or 5 follow state 3, i want to overwrite them with 3.
> changes from 1 to any value and 2 to any value are acceptable as are
> changes from any value to 1 or 2.
>
> By way of an example:
>
> the sequence 1 3 3 5 5 3 2 4 2 1 5 3 3 5
>
> should read 1 3 3 3 3 3 2 4 2 1 5 5 5 5
>
>
> Thanks for the help!
>
> Justin
>
> ______________________________________________
> 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.
>
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
______________________________________________
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.
More information about the R-help
mailing list