Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 12141

matrix with multiple sliding windows, an effective alternative zoo::rollapplyr()

$
0
0

I'm looking for an efficient solution (preferably C++) to replace this code:

m <- cbind(x1=1:10,x2=1:10,x3=1:10)width=3rol_m <- zoo::rollapplyr(m, width=width, c, fill=NA)colnames(rol_m) <- sapply(colnames(m), rep, width) |> c() |> make.unique()      x1 x1.1 x1.2 x2 x2.1 x2.2 x3 x3.1 x3.2 [1,] NA   NA   NA NA   NA   NA NA   NA   NA [2,] NA   NA   NA NA   NA   NA NA   NA   NA [3,]  1    2    3  1    2    3  1    2    3 [4,]  2    3    4  2    3    4  2    3    4 [5,]  3    4    5  3    4    5  3    4    5 [6,]  4    5    6  4    5    6  4    5    6 [7,]  5    6    7  5    6    7  5    6    7 [8,]  6    7    8  6    7    8  6    7    8 [9,]  7    8    9  7    8    9  7    8    9[10,]  8    9   10  8    9   10  8    9   10

This code simply builds a matrix with a sliding window for each column m.

Also important to me is the fill=NA argument.

And it is advisable to save the column names.

Is there a package that contains an effective implementation of something like this?


Viewing all articles
Browse latest Browse all 12141

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>