滚动聚合(即滚动窗口求和)之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()系列函数,有时候能方便我们很多计算。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容