-----Original Message-----
From: R-help <r-help-boun...@r-project.org> On Behalf Of Rui Barradas
Sent: Wednesday, February 19, 2020 8:13 AM
To: Lijun Zhao <lijunzhao0...@gmail.com>; r-help@r-project.org
Subject: Re: [R] How to index the occasions in a vector repeatedly under
condition 1? if not, it will give a new index.
Hello,
First of all, a note about your reproducible example.
When you write diff <- x - lag(x) there are two things to be said.
1. There is a base R function named 'diff', it is better to use another name.
diff(x)
#[1] 0 0 0 8 0 577 69 0
2. There are also several functions named 'lag', one of them in base package
stats.
x - lag(x)
#[1] 0 0 0 0 0 0 0 0 0
#attr(,"tsp")
#[1] 0 8 1
This is not the one you are using.
x - dplyr::lag(x)
#[1] NA 0 0 0 8 0 577 69 0
That's the one. When you have a package loaded in your session, please start
your scripts with library(<pkgname>), in this case library(dplyr).
Now for the question's problem. I will use a different name, 'd', not
'diff'. And qualify the function name with the package name prefix.
The main problem is the NA in the first element of 'd', without it
cumsum(d > 15) would be enough. This works because the logical values
FALSE/TRUE are coded as 0/1 and their cumulative sum goes up every time
a TRUE is found.
d <- x - dplyr::lag(x)
cumsum(is.na(d) | d > 15)
#[1] 1 1 1 1 1 1 2 3 3
Hope this helps,
Rui Barradas
Às 06:56 de 19/02/20, Lijun Zhao escreveu:
Dear All,
could you please help me how to get the output from the following example?
x<-c(543, 543, 543, 543, 551 , 551 ,1128 ,1197, 1197)
diff<-x-lag(x)
diff
[1] NA 0 0 0 8 0 577 69 0
how to index the occassions in x repeatedly if the diff>15? if not, it will
give a new index
i want the output be like y
y<-c(1,1,1,1,1,1,2,3,3)
thanks,
Lijun
[[alternative HTML version deleted]]
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.