Hi Petr, I recently had to align the minima of deceleration events to form an aggregate "braking profile" for different locations. It seems as though you are looking for something like:
find_increase<-function(x,surround=10) { inc_index<-which.max(diff(x)) indices<-(inc_index-surround):(inc_index+surround) nneg<-sum(indices < 1) # pad both ends with NA if needed newx<-x[1:max(indices)] if(nneg > 0) newx<-c(rep(NA,nneg),newx) return(newx) } Jim On Thu, Aug 2, 2018 at 10:23 PM, PIKAL Petr <petr.pi...@precheza.cz> wrote: > Dear all > > Before I start to reinvent wheel I would like to ask you if you have some > easy solution for aligning data > > I have something like this > x<-1:100 > set.seed(42) > y1<-c(runif(20)+1, 1.2*x[1:80]+runif(80)) > y2<-c(runif(40)+1, 1.2*x[1:60]+runif(60)) > > plot(x,y1) > points(x,y2, col=2) > > with y increase starting at various x. > > I would like to allign data so that the increase starts at the same x point, > something like > > plot(x,y1) > points(x[-(1:20)]-20,y2[-(1:20)], col=2) > > I consider using strucchange or segmented packages to find break(s) and > "shift" x values according to this break. But maybe somebody already did > similar task (aligning several vectors according to some common breakpoint) > and could offer better or simpler solution. > > Best regards. > Petr > Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních > partnerů PRECHEZA a.s. jsou zveřejněny na: > https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about > processing and protection of business partner’s personal data are available > on website: https://www.precheza.cz/en/personal-data-protection-principles/ > Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a > podléhají tomuto právně závaznému prohláąení o vyloučení odpovědnosti: > https://www.precheza.cz/01-dovetek/ | This email and any documents attached > to it may be confidential and are subject to the legally binding disclaimer: > https://www.precheza.cz/en/01-disclaimer/ > > ______________________________________________ > 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.