我有一个如下数据框;行是蛋白质ID,a
是experiment 1
,而b
是experiment 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 +)
的蛋白质,但我不知道该怎么做
任何帮助
答案 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