Do you also want lines 38 and 39 (in addition to 40:44), or do I misunderstand your problem?
When you deal with runs of data, think of the rle (run-length encoding) function. E.g. here is a barely tested function to find runs of a given minimum length and a given difference between successive values. It also returns a 'runNumber' so you can split the result into runs. findRuns <- function(x, minRunLength=3, difference=1) { # for integral x, find runs of length at least 'minRunLength' # with 'difference' between succesive values d <- diff(x) dRle <- rle(d) w <- rep(dRle$lengths>=minRunLength-1 & dRle$values==difference, dRle$lengths) values <- x[c(FALSE,w) | c(w,FALSE)] runNumber <- cumsum(c(TRUE, diff(values)!=difference)) data.frame(values=values, runNumber=runNumber) } > findRuns(c(10,8,6,4,1,2,3,20,17,18,19,20)) values runNumber 1 1 1 2 2 1 3 3 1 4 17 2 5 18 2 6 19 2 7 20 2 > findRuns(c(10,8,6,4,1,2,3,20,17,18,19,20), minRunLength=4) values runNumber 1 17 1 2 18 1 3 19 1 4 20 1 > findRuns(c(10,8,6,4,1,2,3,20,17,18,19,20), difference=-2) values runNumber 1 10 1 2 8 1 3 6 1 4 4 1 Bill Dunlap TIBCO Software wdunlap tibco.com On Thu, Sep 27, 2018 at 7:48 AM, Knut Krueger <rh...@krueger-family.de> wrote: > Hi to all > > I need a subset for values if there are f.e 3 values successive in a > column of a Data Frame: > Example from the subset help page: > > subset(airquality, Temp > 80, select = c(Ozone, Temp)) > 29 45 81 > 35 NA 84 > 36 NA 85 > 38 29 82 > 39 NA 87 > 40 71 90 > 41 39 87 > 42 NA 93 > 43 NA 92 > 44 23 82 > ..... > > I would like to get only > > ... > 40 71 90 > 41 39 87 > 42 NA 93 > 43 NA 92 > 44 23 82 > .... > > because the left column is ascending more than f.e three times without gap > > Any hints for a package or do I need to build a own function? > > Kind Regards Knut > > ______________________________________________ > 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/posti > ng-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[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.