r - 在稀疏矩阵中将空白转换为 NA
问题描述
我有一个稀疏矩阵,我正在读入 R 并使用以下代码转换为矩阵
gt <-readMM("matrix.mtx")
gt_0 <- as.matrix(gt)
但是,gt
对象内的空白字段在调用期间被转换为 0 gt_0 <- as.matrix(gt)
。
问题是我的矩阵的实际值是二进制 (0|1),所以用 0 填充会使下游分析变得不可能。
如果可能的话,我希望用 NA 填充空白而不是 0
非常感谢您的任何建议
解决方案
0
将s转换为NA
s后,只需将其替换dgTMatrix
为matrix
# 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
推荐阅读
- google-api - 通过 Google API 获取 Google 组织中的所有日历
- android - 为什么“setOnClickListener (this)”在“for in”中不起作用?
- javascript - 制表符:从 javascript dataArray 导入时的字段 ID
- javascript - Javascript - 将 URL 数组修剪到根域
- python - 使用列中的条件迭代数据框
- java - 无法访问主类中的方法
- vba - Powerpoint VBA - .Tags.Add 上的语法错误
- azure-data-factory - 针对 ADFv2 中的硬编码数组执行 ForEach 活动
- javascript - JS - 对象属性不采用分配的值,但只获取数组的最后一个值
- python-3.x - 将代码块翻译成列表理解语法