Сравните матрицы, чтобы найти различия
У меня есть 2 матрицы, я хочу сравнить их (имя строки), чтобы найти разницу.
> head(N1)
Total_Degree Transitivity Betweenness Closeness_All
2410016O06RIK 1 NaN 0.00000 0.0003124024
AGO1 4 0.1666667 37.00000 0.0003133814
APEX1 4 0.6666667 4.00000 0.0003144654
ATR 4 0.1666667 19.50000 0.0003128911
CASP3 24 0.0000000 806.00000 0.0002980626
CCND2 4 0.3333333 97.33333 0.0003132832
head(N2)
Total_Degree Transitivity Betweenness Closeness_All
2410016O06RIK 1 NaN 0.0 2.279982e-04
ADI1 1 NaN 0.0 1.728877e-05
AGO1 3 0.0000000 40.0 2.284670e-04
AIRN 1 NaN 0.0 1.721733e-05
APEX1 3 0.6666667 2.0 2.288330e-04
ATR 3 0.3333333 19.5 2.281542e-04
Многие из строк. Name в N1 существуют в N2, я хочу сравнить их и записать разницу в новой матрице. Те, которые являются уникальными для N1 или N2, должны быть упомянуты как принадлежащие N1 или N2.
Я не уверен, что лучшим критерием для вычисления разницы, о чем я могу подумать, является простое сложение всех значений строки в N1 и вычитание этого значения из аддитивного значения соответствующей строки в N2.
Например, вывод должен быть:
> head(Compared)
Comparison Unique
2410016O06RIK 0.0002 Common
AGO1 -1.83 Common
APEX1 2.24 Common
ATR 0.0034 Common
CASP3 830.00029 N1
ADI1 1.0007288 N2
Здесь для row.name =2410016O06RIK
все значения из N1 и N2 были добавлены, а затемN1-N2
был написан вComparison
столбец, так как эта строка была общей в обеих матрицах такcommon
был написан вUnique
колонка.