在R语言中,我有一个由Rle编码元素组成的S4 DataFrame。 以下代码可以模拟数据
x = DataFrame(Rle(1:10),Rle(11:20),Rle(21:30))
现在,我想将这个数据帧从Matrix软件包转换为稀疏矩阵。对于常规的data.frame,可以执行以下操作:
Matrix(x,sparse=TRUE)
然而,这对于数据框架并不适用,因为会产生以下错误:
Matrix(x,sparse=TRUE)
Error in as.vector(data) :
没有将这个S4类强制转换为向量的方法
您有什么好的想法可以以比较高效的方式在不同的数据类型之间进行转换吗?
谢谢!
Matrix(as.data.frame(x))
;DataFrame和Rle来自Bioconductor S4Vectors包,因此最好在Bioconductor支持网站上提出有关它们的问题。 - Martin MorganError in asMethod(object) : invalid class 'NA' to dup_mMatrix_as_geMatrix
。 我会在Bioconductor支持站点上尝试它。 - KoenVdB