我的电子表格有很多列。以“FC”开头的列应该包含具有相同符号的所有行。
但在下表中,您可以看到第一行“NM_000319”的列“FC_AT1BPABaP1vsAT1NT1”和“FC_AT1BPABaP3vsAT1NT3”的符号为负,而列“FC_AT1BPABaP2vsAT1NT2”的符号为正。
那么,我该如何检查这三列的符号是否相同呢?
tracking_id FC_AT1BPABaP1vsAT1NT1 FC_AT1BPABaP2vsAT1NT2 FC_AT1BPABaP3vsAT1NT3
NM_000319 -7514.342949 1.821240463 -2.721908575
NM_000403 2.831020725 -3.756945063 -251342.1488
NM_001001560 -21.5329816 4.230898855 4.404446706
NM_001003818 -738637764.9 1.707630437 1526.524518
NM_001005290 -7.291187382 1.837827141 -1.993878903
NM_001009554 -4.321191835 698.4121619 2.260286104
NM_001009570 6.728377618 346.5860049 -1.877202148
NM_001014837 -1.950676412 4.527666097 1727.863947
NM_001018011 12.96256834 -21.85994794 10.07627791
NM_001020818 5.918729877 43107941834 -5.208946431
NM_001031848 3.223480013 -3.245050492 -104.259285
NM_001033578 -9.58E+13 -34519832402 1.614184522
NM_001037126 1.655300434 2481.777403 -2.389413271
NM_001039457 3.631318663 1.706726068 6327.407683
答案1
例如,您可以在 Excel 中使用以下公式:
=AND(SIGN(B2)=SIGN(C2),SIGN(C2)=SIGN(D2))
它只是做您需要的事情,检查所有三个数字是否具有相同的符号。
答案2
在 R 中你可以这样做:
samesign <- function(x) {abs(sum(sign(x)))==length(x)}
apply(mydf,1,samesign)
根据您的数据(我读到的readindf
),得出以下结论:
apply(readindf[,2:4],1,samesign)
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE