从R中“dgCMatrix”类的稀疏矩阵中删除行
我是一名生物信息学的学生,对R相当陌生。我正在研究dgCMatrix类的稀疏矩阵,我想找到一种有条件地删除该矩阵中的行的方法。 我想做的是迭代稀疏矩阵并删除行名以LOC107开头的任何行,如上图中的第九行和第十一行。我知道如何设置for循环来进行迭代,但我不知道如何删除行本身从R中“dgCMatrix”类的稀疏矩阵中删除行,r,sparse-matrix,bioinformatics,R,Sparse Matrix,Bioinformatics,我是一名生物信息学的学生,对R相当陌生。我正在研究dgCMatrix类的稀疏矩阵,我想找到一种有条件地删除该矩阵中的行的方法。 我想做的是迭代稀疏矩阵并删除行名以LOC107开头的任何行,如上图中的第九行和第十一行。我知道如何设置for循环来进行迭代,但我不知道如何删除行本身 有人知道如何使用我编写的for循环删除R中的行,即填充if语句吗?好吧,这里有一种方法可以使用基R中的非稀疏矩阵来完成,也许dgCmatrix类有类似的方法:假设矩阵名为X keep_rows <- Negate(
有人知道如何使用我编写的for循环删除R中的行,即填充if语句吗?好吧,这里有一种方法可以使用基R中的非稀疏矩阵来完成,也许dgCmatrix类有类似的方法:假设矩阵名为X
keep_rows <- Negate(grepl(rownames(X), pattern="^LOC107"))
Xnew <- X[keep_rows,]
注意:一般来说,如果在这个过程之后可能只剩下一行,那么应该使用Xnew