我正在研究单核rna测序,我做了一个由所有特征的基因子集组成的矩阵,显示每个基因的数量。我想要计算在每个特性中表达的基因的比例,但是不能得到我的代码来返回正确的结果。这与我已经用colSums计算的每个特性的计数数是分开的。
没有表达的基因有一个“。值,所以我想计算每一列中有多少个,将其计算为基因总数的一小部分,并使用(1-分数)来找出每个特征所表达的基因的比例。
我该用什么来计算?
我尝试过的代码不太有效(其中counts.fc2是我的矩阵):
marker <- c('.')
Matrix::colSums(counts.fc2@assays$RNA@counts[markers, ])和
na.counts <- counts.fc2[grep(".", counts.fc2), ]如有任何建议,将不胜感激!
编辑:根据要求,这是矩阵外观的一个例子(列标题是特性no,例如: CATACTTAGAGTACCG-1:
ppn . 0.8982865 . . .
ocn . . . . .
CheB53a 3.2424953 . . . .
CG5762 . . . . 0.8982865
srp . 2.698674 . . . .
fraction 0.2 0.4 0 0 0.2发布于 2022-05-13 19:49:52
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元素输出一个布尔矩阵,即FALSE。colMeans将返回每个列的比例,即TRUE。
https://stackoverflow.com/questions/72234672
复制相似问题