我有一些批量RNA测序数据,需要对其进行差异表达显着性测试。我有两个条件,WT和KO,每个条件都有两个副本,给出了一个数据帧,如下所示(列在计数中):
WT1 WT2 KO1 KO2
gene1 1.3 1.23 3.42 3.45
gene2 2.6 2.54 1.22 1.21
gene3 5.54 2.32 1.21 1.10 我的问题是,我如何在右边得到一列每个基因的p值,以便我可以构建数据的火山图?基本上,我需要使用什么统计测试来生成该列,以及我在R中使用什么函数来执行此操作?很抱歉,从技术上讲,这不是我应该在这里问的问题,但坦率地说,我不知道还能在哪里发帖。提前感谢!
发布于 2020-01-31 03:05:55
以防有人最终关心这个问题,而我不是像往常一样尖叫着进入以太,我想出了这个问题。基本上,对于这类数据,我需要使用单向ANOVA检验或双尾t检验,这两种检验基本上是相同的(至少在这种情况下是这样)。我决定在R中使用t.test()函数,因为它更容易理解(至少如果您不太熟悉R中的统计数据)。通常,t.test函数会生成如下所示的摘要:
Welch Two Sample t-test
data: bulk_data[1, 1:2] and bulk_data[1, 3:4]
t = -0.93364, df = 1.1978, p-value = 0.5002
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.3807992 0.3068266
sample estimates:
mean of x mean of y
0.09525708 0.13224335 我需要删除p值对象并将其添加到数据框的第五列,因此我使用了以下循环:
for (i in 1:nrow(bulk_data)) {
t <- t.test(x = bulk_data[i, 1:2], y = bulk_data[i, 3:4], alternative = "two.sided")
bulk_data[i, 5] <- t$p.value
}这在第五列中给了我一个非常好的p值列表。
https://stackoverflow.com/questions/59934932
复制相似问题