将RleViews转换为矩阵

时间:2011-11-22 12:55:27

标签: r bioconductor

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

我通常使用

viewApply(x, as.vector)

TNX!

1 个答案:

答案 0 :(得分: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()强制它的第一个参数为向量。