滚动聚合(即滚动窗口求和)之RcppRoll 包

在看到《R数据科学》第45页时候,突然看到一句话


image.png

尽管这里并没有对RcppRoll包进行描述,但是经不住好奇去查了一下这个包

install.packages("RcppRoll")
library(RcppRoll)
(x <- 1:10)
[1]  1  2  3  4  5  6  7  8  9 10

> roll_sum(x, n = 3, by = 3)
[1]  6 15 24

> roll_sum(x, n = 3, by = 2)
[1]  6 12 18 24

> roll_sum(x, n = 3, by = 1)
[1]  6  9 12 15 18 21 24 27
# 看参数说明
n 滚动求和窗口的大小
by 表示每次窗口移动的距离

这里我们可以用来计算BS-seq数据分析中每个bin里面的值,比如100bp的bin, 滑动窗口为50bp

即设置为

roll_sum(x, n = 100, by = 50)
最后这个包包含许多roll_function()系列函数,有时候能方便我们很多计算。

你可能感兴趣的:(滚动聚合(即滚动窗口求和)之RcppRoll 包)