最简单的统计学之取交集

2023-10-30 16:30:48 浏览数 (1)

在:换一个分析策略会导致文章的全部论点都得推倒重来吗,我们把一个单细胞转录组数据集进行基础的降维聚类分群,并且针对里面的上皮细胞亚群进行细分亚群,而且在 肿瘤单细胞转录组拷贝数分析结果解读和应用我们根据拷贝数情况判断了其中0,1,6还有cycle是恶性细胞亚群,接下来就通过生存分析聚焦到了恶性增殖的亚群,详见:关键单细胞亚群辅助判定之生存分析

但是这个:关键单细胞亚群辅助判定之生存分析 过程是比较复杂的,因为涉及到了针对不同单细胞亚群的特异性高表达量基因集合在转录组表达量矩阵里面的打分,并且需要高低分组后做生存分析。实际上可以有最简单的取交集即可,代码如下所示:

代码语言:javascript复制
rm(list=ls())
library(survival)
library(survminer) 
library(ggstatsplot) 

load('cosg_celltype__marker_cosg.Rdata') 
head(marker_cosg)
symbols_list <-  as.list(as.data.frame(apply(marker_cosg$names,2,head,100)))
names(symbols_list)

load( file = 'batch_cox_results.Rdata')
library(remotes)
cox_results = na.omit(cox_results)
do.call(rbind,lapply(symbols_list, function(x){
  # x = symbols_list[[1]]
  x = x[x%in% rownames(cox_results)]
  this_cox = as.data.frame(cox_results[x,])
  table(this_cox$p < 0.01)
})) 

上面的代码背后的数据在会持续更新在这个链接哈,大家一定要抽空测试:

代码语言:javascript复制
链接: https://pan.baidu.com/s/1geW1MTLRizcJWEESdjMN7g?pwd=96t6 提取码: 96t6

我们会在视频号直播互动答疑,欢迎预约我们的直播链接!

就可以看到:

代码语言:javascript复制
         FALSE TRUE
ciliated     93    4
AT2          89   11
cycle        40   59
0            82   16
1            90    5
LAMP3-epi    93    4
6            86   14
secretory    89   11
7            91    7

其中cycle的肿瘤单细胞亚群里面的特异性高表达量基因集合里面的超过一半都是有生存分析的统计学显著性, 那么毫无疑问它这个亚群就应该是最关键的啦!跟前面的:关键单细胞亚群辅助判定之生存分析 过程有异曲同工之妙哈

虽然说我们上面展现的是肿瘤单细胞亚群里面的特异性高表达量基因集合在生存分析基因集的个数,但是它实际上是一个交集的简化版,其实这个交集还可以有一个统计学显著性判断方式,在统计学中,要判断两个集合取交集的结果是否显著,通常需要进行一定的假设检验或者计算一些统计量来评估这种显著性。以下是一些常见的方法:

  1. 卡方检验(Chi-Square Test):如果你有两个分类变量,可以使用卡方检验来判断它们的交集是否显著。卡方检验可以用来比较观察到的频数和期望的频数之间的差异。
  2. Fisher's Exact Test:当你的数据集很小或者不满足卡方检验的假设时,可以使用Fisher's Exact Test。这个检验适用于2x2的列联表数据,用于判断两个分类变量之间的关联是否显著。
  3. 超几何分布检验(Hypergeometric Test):当你处理的数据集是有限的,例如从一个有限的总体中抽取样本,然后想要判断两个集合的交集是否显著时,可以使用超几何分布检验。这个检验考虑了抽样的随机性。
  4. Bootstrap方法:Bootstrap方法可以用于估计两个集合交集的显著性。它通过对样本进行重抽样来估计交集的分布,并计算置信区间或p值来判断显著性。
  5. Permutation Test:排列检验也可以用于估计两个集合交集的显著性。它通过随机地改变一个或多个集合的数据来生成一个随机分布,并与实际观察到的交集进行比较。
  6. 贝叶斯统计方法:贝叶斯统计方法可以用于估计两个集合交集的后验分布,从而得出关于显著性的概率分布。

0 人点赞