我有一个带有 id 字段和三个不同且不相关的 p 值的 data.frame。我想在每列应用 benjamini-hochberg 校正。我一直在使用p.adjust
as 函数p.adjust(data[,2], "BH")
,但我遇到了麻烦,因为我必须在应用更正之前对每一列进行排序,之后我会丢失 id 信息。我的数据看起来像:
id p1 p2 p3
1 ENSG00000179094 1.000000e+00 1.000000e+00 1.000000e+00
2 ENSG00000164306 1.000000e+00 1.000000e+00 1.000000e+00
3 ENSG00000147180 1.000000e+00 8.778847e-02 1.000000e+00
4 ENSG00000172932 4.370119e-01 1.766703e-04 1.000000e+00
5 ENSG00000137252 1.000000e+00 2.562124e-02 1.000000e+00
6 ENSG00000144644 1.654108e-02 1.000000e+00 1.000000e+00
7 ENSG00000197273 3.316301e-01 5.341301e-01 1.000000e+00
8 ENSG00000169221 1.000000e+00 1.000000e+00 1.000000e+00
9 ENSG00000108309 8.689368e-01 2.350522e-03 1.000000e+00
10 ENSG00000172382 1.000000e+00 9.028471e-01 2.697276e-02
11 ENSG00000099937 1.000000e+00 1.000000e+00 9.988716e-01
12 ENSG00000259431 1.000000e+00 1.000000e+00 7.268023e-01
...
有没有最简单的方法或包来做到这一点而不会丢失 id 的信息?