Как проверить, имеют ли строки определенных столбцов одинаковый знак или нет в R или Excel?

266
user3351523

У меня есть таблица со многими столбцами. В этом столбцы, начинающиеся с «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  
0

2 ответа на вопрос

0
Máté Juhász

Вы можете использовать, например, эту формулу в Excel:
=AND(SIGN(B2)=SIGN(C2),SIGN(C2)=SIGN(D2))

Он просто делает то, что вам нужно, проверяет, все ли три числа имеют одинаковый знак.

Большое спасибо @ Máté Juhász. Это сработало, но у меня есть небольшое сомнение. В моей электронной таблице 9 столбцов с именем «FC». 3 на группу. Итак, каждая группа должна иметь одинаковый знак. Таким образом, я могу получить результат для одной группы. Как сделать это для всех одновременно. user3351523 8 лет назад 0
Вы можете просто расширить решение Máté Juhász: = И (И (ЗНАК (B2) = ЗНАК (C2), ЗНАК (C2) = ЗНАК (D2)), И (ЗНАК (E2) = ЗНАК (F2), ЗНАК ( F2) = SIGN (G2)), AND (SIGN (H2) = SIGN (I2), SIGN (I2) = SIGN (J2))) Это сравнивает знак столбцов по группам, а затем сравнивает, верно ли это для всех групп. Michthan 8 лет назад 0
Да, я сделал это. Он дал мне то, что я хочу. Большое спасибо !! user3351523 8 лет назад 0
Если вы не можете решить эту проблему, пожалуйста, обновите ваш вопрос с точной формулой, а также опишите, как именно он не работает (дает ошибку / неправильный результат ...) Máté Juhász 8 лет назад 0
0
Glen_b

В R вы можете сделать это:

samesign <- function(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 

Похожие вопросы