繁体   English   中英

在稀疏矩阵中将空白转换为NA

[英]Convert Blanks to NA in Sparse Matrix

我有一个稀疏矩阵,正在读入R并使用以下代码转换为矩阵

gt <-readMM("matrix.mtx")
gt_0 <- as.matrix(gt)

但是,在gt_0 <- as.matrix(gt)调用期间, gt对象中的空白字段将转换为0。

问题是我的矩阵的实际值是二进制(0 | 1),所以用0填充将使下游分析变得不可能。

我希望空白填充为NA(如果可能的话),而不是0

非常感谢您的任何建议

dgTMatrix转换为matrix 后,只需用NA替换0 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM