首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R:如何计算大矩阵中所有列中空行的分数?

R:如何计算大矩阵中所有列中空行的分数?
EN

Stack Overflow用户
提问于 2022-05-13 19:40:21
回答 1查看 71关注 0票数 0

我正在研究单核rna测序,我做了一个由所有特征的基因子集组成的矩阵,显示每个基因的数量。我想要计算在每个特性中表达的基因的比例,但是不能得到我的代码来返回正确的结果。这与我已经用colSums计算的每个特性的计数数是分开的。

没有表达的基因有一个“。值,所以我想计算每一列中有多少个,将其计算为基因总数的一小部分,并使用(1-分数)来找出每个特征所表达的基因的比例。

我该用什么来计算?

我尝试过的代码不太有效(其中counts.fc2是我的矩阵):

代码语言:javascript
复制
marker <- c('.')
Matrix::colSums(counts.fc2@assays$RNA@counts[markers, ])

代码语言:javascript
复制
na.counts <- counts.fc2[grep(".", counts.fc2), ]

如有任何建议,将不胜感激!

编辑:根据要求,这是矩阵外观的一个例子(列标题是特性no,例如: CATACTTAGAGTACCG-1:

代码语言:javascript
复制
ppn     . 0.8982865 . . .      
ocn     . . . . .         
CheB53a 3.2424953 . . . .        
CG5762  . . . . 0.8982865 
srp     . 2.698674 . . . .

fraction 0.2 0.4 0 0 0.2
EN

回答 1

Stack Overflow用户

发布于 2022-05-13 19:49:52

代码语言:javascript
复制
set.seed(1)
m <- replicate(15, sample(c(letters, "."), 20, replace = T))

colMeans(m != ".")
[1] 0.95 1.00 0.95 1.00 0.95 0.95 1.00 1.00 1.00 0.90 1.00 1.00 0.95 0.95 0.95

可以使用比较运算符.测试矩阵中哪些元素不是!=。否则,m != "."将为.TRUE元素输出一个布尔矩阵,即FALSEcolMeans将返回每个列的比例,即TRUE

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72234672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档