2 matrices var, onları bulmak için onları karşılaştır (row.name bilge). N1 rows.name birçoğu N2 oluğuyorFarklılıkları bulmak için matrisler karşılaştırın
> 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
, onları karşılaştırmak ve yeni bir matris içinde farkı yazmak istiyorum. N1 veya N2'ye özgü olanların N1 veya N2'ye ait oldukları belirtilmelidir.
Farkı hesaplamak için en iyi ölçüt hangisi olduğunu düşündüğümden emin değilim, N1'deki bir satırın tüm değerlerinin basit bir eklenmesi ve bu değeri N2'deki karşılık gelen satırın katma değerinden çıkarmasıdır.
Örneğin çıkış olmalıdır:
Burada> 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
için, N1 ve N2 tüm değerler eklenmiş ve bu satır her iki matris yaygın olduğu gibi daha sonra N1-N2
, Comparison
sütun yazılmış common
Unique
sütununda yazılmıştır.
Verileri çoğaltmak için kod verebilir misiniz? Biriciklik için row.name ile iç ve sol/sağ birleşme ile gidip, sonuçta elde edilen üç data.frames'i buluruz ve fark için 'all.equal()' işi yapar mı? Bir "fark" ile ne demek istediğini belirtmelisin. –
@ M.D Metin dosyalarını okuyorum, size nasıl veri sağlayabileceğimi bilmiyorum. Farktan "demek istiyorum ki, row.names'in farklı bir kişi olduğunu ve farklı kaynaklardan gelen gelirlerini farklı sütunlarda görelim. Toplam gelirlerini (bir satırın tüm değerlerini ekleyerek) 2 zaman noktasında (N1 ve N2) hesaplıyoruz ve Bu zaman noktalarında geliri büyük ölçüde değişmiş olan kişiyi bulmak (N1 - N2'yi çıkararak). – user3253470
Bu, data.table paketini kullanarak bir çözüm taslağıdır, eğer aşina değilseniz, onu yeniden yazmayı deneyeceğim: (burada kod vardı, ancak okunabilirlik için bir çözüm olarak yayınlayacağım). –