我有一个稀疏矩阵,正在读入R并使用以下代码转换为矩阵
nodeToAdd.name = "Colour\(targetName)"
但是,gt <-readMM("matrix.mtx")
gt_0 <- as.matrix(gt)
对象中的空白字段在gt
调用期间被转换为0。
问题在于我的矩阵的实际值是二进制(0 | 1),因此填充0使得下游分析无法进行。
我希望在空白处填充NA(如果可能不为0
)非常感谢您的任何建议
答案 0 :(得分:0)
在将0
转换为NA
dgTMatrix
s 替换matrix
s
# Sample data
library(Matrix)
gt <- Matrix(0+1:28, nrow = 4)
gt[-3,c(2,4:5,7)] <- gt[ 3, 1:4] <- gt[1:3, 6] <- 0
gt <- as(m, "dgTMatrix")
# Convert to matrix and replace 0s with NAs
gt_0 <- as.matrix(gt)
gt_0[gt_0 == 0] <- NA
gt_0
# [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#[1,] 1 NA 9 NA NA NA NA
#[2,] 2 NA 10 NA NA NA NA
#[3,] NA NA NA NA 19 NA 27
#[4,] 4 NA 12 NA NA 24 NA