是否有更快的方法将 RleViews 对象(包含相同长度的元素)转换为矩阵对象?
我通常使用
viewApply(x, as.vector)
天呐!
对于一个可重现的例子
library(IRanges) ## Bioconductor
rle = Rle(sample(2, 100000, TRUE))
v = successiveViews(rle, rep(5, 1000), gap=10)
然后也许
r = seqselect(rle, start(v), end(v))
matrix(as.integer(r), nrow=5)
如果您提供自己的示例和时间安排,则可以询问这是否是一种改进。
2016 年 7 月 29 日更新
对矩阵的强制可以通过unlist()
查看视图和调用矩阵来完成,
matrix(unlist(v), nrow=5)
这部分是因为matrix()
将其第一个参数强制为向量。