基于R语言读取整个表格中的数据,并对每一行依次进行t.test,如果写成循环,运算速度非常慢,可以利用apply()函数辅助完成计算过程。
譬如有如下数据,共2000行6列,对A组数据和B组数据进行t.test计算:
> head(data,2)
A1 A2 A3 B1 B2 B3
TRINITY_DN100001_c0_g1 2.5 2.81 4.75 1.96 2.71 6.11
TRINITY_DN100002_c0_g1 0.0 0.00 0.00 0.00 0.00 40.45
> dim(data)
[1] 2000 6
基本函数为t.test(),并提取出返回值p.value,最终将所有p.value赋值给pvalue向量
pvalue=apply(data,1,function(x) t.test(x[1:3],x[4:6],paired = T)$p.value)
返回结果中针对第一第二行数据的pvalue值如下:
> head(pvalue,2)
TRINITY_DN100001_c0_g1 TRINITY_DN100002_c0_g1
0.7165794 0.4226497
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!