[R] how to allign data

Jim Lemon
Thu, 02 Aug 2018 22:32:18 -0000

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.pikal at 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 at 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.