有没有更快的方法将RleViews对象(包含相同长度的元素)转换为矩阵对象?
我通常使用
viewApply(x, as.vector)
TNX!
答案 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()
强制它的第一个参数为向量。