1

是否有更快的方法将 RleViews 对象(包含相同长度的元素)转换为矩阵对象?

我通常使用

viewApply(x, as.vector)

天呐!

4

1 回答 1

2

对于一个可重现的例子

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()将其第一个参数强制为向量。

于 2011-11-22T14:46:06.887 回答