如何在R中保持具有相同符号的值

时间:2019-06-14 21:42:52

标签: r

我有一个如下数据框;行是蛋白质ID,aexperiment 1,而bexperiment 2,我们希望蛋白质在两个实验中都显示相同的表达值,但是表达的符号始终不一致如热图所示

> head(a[,c(1,3)])
            a                              b
A0JLT2      0.29                          0.2
A8MXV4     -1.25                         -0.6
O00194     -2.21                          0.9
O00462      0.68                         -0.6
O00505      1.05                         -0.6
O00560      0.43                         -0.2
>  

我只想在两列中保留带有same sign of value (- or +)的蛋白质,但我不知道该怎么做

enter image description here

任何帮助

1 个答案:

答案 0 :(得分:3)

这是一种方法-

a[sign(a$a) == sign(a$b), ]

sign()返回元素的符号。

sign(-1.25)
[1] -1

sign(-0.6)
[1] -1

sign(0.29)
[1] 1