构建基因表达矩阵的时候,其基因个数和样本个数都会达到成千上万个,这时在做PCA分析或者差异基因分析前最好排除表达量低的样本和基因
#加载相应的安装包
library(tidyverse)
#例子如下
gdf <- tibble(g = rnorm(4, 0.5, 0.5), v1 = rnorm(4,1,0.5), v2 = rnorm(4, 1.5, 0.5)
gdf <- gdf%>% mutate(v3 = rep(0,4))
gdf
Output:
# A tibble: 4 x 4
g v1 v2 v3
<dbl> <dbl> <dbl> <dbl>
1 0.718 1.48 0.646 0
2 0.0799 1.60 1.40 0
3 0.925 0.715 1.26 0
4 0.217 1.05 1.76 0
横坐标为样本,纵坐标为基因,此时可以看做有4个基因,4个样本:
如果我们要排除在所有样本中表达量均为0的基因(即v3),可以用colSums函数:
colSums(gdf)>0
Output:
g v1 v2 v3
TRUE TRUE TRUE FALSE
筛选所有样本中表达量的和大于0的基因:
gdf [,colSums(gdf)