首页 > 其他分享 >R:Wilcoxon秩和检验,比较两组样本中的基因表达差异

R:Wilcoxon秩和检验,比较两组样本中的基因表达差异

时间:2023-06-03 17:00:12浏览次数:36  
标签:txt 两组 样本 基因 result table gene Wilcoxon

setwd("E:\\20220927宏基因组教学\\02后期分析\\05willcox")
library(doBy)
gene <- read.table('table.l5.relative-SE.txt', sep = '\t', row.names = 1, header = TRUE, stringsAsFactors = FALSE, check.names = FALSE)
group <- read.table('group.txt', sep = '\t', header = TRUE, stringsAsFactors = FALSE, check.names = FALSE)
result <- NULL

for (n in 1:nrow(gene)) {
gene_n <- data.frame(t(gene[n,]))
gene_id <- names(gene_n)[1]
names(gene_n)[1] <- 'gene'

gene_n$sample <- rownames(gene_n)
gene_n <- merge(gene_n, group, by = 'sample', all.x = TRUE)

gene_n$group <- factor(gene_n$group)
p_value <- wilcox.test(gene~group, gene_n)$p.value
if (!is.na(p_value) & p_value < 0.05) {
stat <- summaryBy(gene~group, gene_n, FUN = c(mean, median))
result <- rbind(result, c(gene_id, as.character(stat[1,1]), stat[1,2], stat[1,3], as.character(stat[2,1]), stat[2,2], stat[2,3], p_value))
}
}

result <- data.frame(result)
names(result) <- c('gene_id', 'group1', 'mean1', 'median1', 'group2', 'mean2', 'median2', 'p_value')
result$p_adjust <- p.adjust(result$p_value, method = 'BH') #推荐加个 p 值校正的过程
write.table(result, 'table.l5.relative-SE.wilcox.txt', sep = '\t', row.names = FALSE, quote = FALSE)

#############################################################################################

这段代码的作用是进行Wilcoxon秩和检验,以比较两组样本中的基因表达差异,并输出显著差异的基因列表。

  1. 首先使用setwd()函数将当前工作目录设置为指定路径。
  2. 使用read.table()函数读取文件table.l5.relative-SE.txt和group.txt,其中table.l5.relative-SE.txt包含基因表达数据,group.txt包含每个样本所属的组别信息。
  3. 定义一个空数据框result,用于存储显著差异的基因。
  4. 使用for循环遍历每行基因表达数据。
  5. 将当前行的基因表达数据转换为数据框gene_n,并将第一列(基因名称)的变量名设置为‘gene’。
  6. 将样本名作为一列变量加入gene_n,并将gene_n与group数据框根据样本名进行合并,得到每个样本所属的组别信息。
  7. 将组别信息转换为因子变量(factor)。
  8. 使用wilcox.test()函数进行Wilcoxon秩和检验,计算两组样本之间的p值。
  9. 如果p值<0.05,则使用summaryBy()函数计算两组样本的基因表达平均值和中位数,并将结果存储到stat数据框中。
  10. 将基因名称和stat中的数据组合为一行,加入到结果数据框result中。
  11. 循环结束后,将result转换为数据框,并设置列名。
  12. 使用p.adjust()函数对p值进行多重检验校正,得到p_adjust列。
  13. 使用write.table()函数将结果数据框写入文件table.l5.relative-SE.wilcox.txt中。

标签:txt,两组,样本,基因,result,table,gene,Wilcoxon
From: https://www.cnblogs.com/wzbzk/p/17454230.html

相关文章

  • m基于HOG特征提取和GRNN网络的人体姿态识别算法matlab仿真,样本为TOF数据库的RGB-D深
    1.算法仿真效果matlab2022a仿真结果如下:TOF数据库如下:2.算法涉及理论知识概要1、HOG特征:方向梯度直方图(HistogramofOrientedGradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。......
  • m基于HOG特征提取和GRNN网络的人体姿态识别算法matlab仿真,样本为TOF数据库的RGB-D深
    1.算法仿真效果matlab2022a仿真结果如下:  TOF数据库如下:      2.算法涉及理论知识概要1、HOG特征:        方向梯度直方图(HistogramofOrientedGradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统......
  • 以样本学习方法解决设备故障检测中的标签问题
    文章的主要内容针对这些问题,提出了一种主动领域自适应智能故障检测框架LDE-ADA,该框架利用迁移学习和主动学习相结合的方法来解决标签域扩展问题,从而提高模型的检测性能。同时,提出了一种改进的主动学习查询策略,以准确选择目标域中新增加的健康类别样本来辅助模型训练,解决标签域扩......
  • 机器学习样本标记 示意代码
    目标:根据各个字段数据的分布(例如srcIP和dstIP的top10)以及其他特征来进行样本标注,最终将几类样本分别标注在black/white/ddos/mddos/cdn/unknown几类。效果示意:-------------chooseone--------------subdomain:DNSQueryName(N)ip:srcip(S)ordstip(D)length:DNSRequestLength......
  • 零样本学习(Zero-shot Learning)
    零样本学习是一种机器学习的问题设置,其中模型可以对从未在训练过程中见过的类别的样本进行分类,使用一些形式的辅助信息来关联已见和未见的类别。例如,一个模型可以根据动物的文本描述来识别动物,即使它从未见过那些动物的图像。实现零样本学习有不同的方法,取决于辅助信息的类型和学......
  • [更新中] [论文阅读 & 实践] 小样本下的GAN探究记(下)
    GAN的进一步探究书接上回,因为本人在GAN才刚入门,尽管直接调用别人的ACGAN得到的效果已经很棒,但是我还是想要继续看一下不同参数对于生成图像的影响,帮助自己去更好理解.学习率调节为了平衡D和G的过程,我们可以适当更改学习率.这个小trick甚至有个专门的名字叫TwoTime-......
  • 样本及其抽样分布
    《随机样本》总体X对总体X进行n次重复的,独立的观察,得到:X1,X2,X3....,Xn注意Xi是随机变量,被称为样本,而且Xi与X同分布,Xi之间相互独立当(X1,X2,....,Xn)有确定的值后为(x1,x2,....,xn)这个被称为样本值 《统计量》 常见统计量: 《重要定理》注意......
  • 基本的K均值聚类算法matlab代码,给了一组样本数据作为例子,注释详细,聚类的样本数据可以
    基本的K均值聚类算法matlab代码,给了一组样本数据作为例子,注释详细,聚类的样本数据可以进行修改。ID:8815643229030781......
  • 固高GTS运动控制卡,C#语言三轴点胶机样本程序源代码,使用 的是固高GTS-800 8轴运动控制
    固高GTS运动控制卡,C#语言三轴点胶机样本程序源代码,使用的是固高GTS-8008轴运动控制卡。资料齐全,3轴点胶机样本程序,还有操作手册及各种C#事例程序,适合自己参照做二次开发,GTS-400的四轴运动控制卡是一样使用。YID:9614642908768262......
  • 2202年了,“小样本”还值得卷吗?
    文|Severus从一个应用实验引发的思考。大家好,我是Severus,一个在某厂做中文自然语言理解的老程序员。这个主题,源自于我之前在公司内做的一次技术分享。承接上一篇文章(格局打开,带你解锁prompt的花式用法),我想要继续分享一下,我们后续尝试的实验及分析,以及我对小样本的看法。简单回......