Bagaimana cara mempertahankan atau membuat jaringan baru dari 5% edge tertimbang teratas?

Saya mencoba mengurangi jaringan besar menjadi hanya 5% teratas dari tepinya, yang ditentukan oleh bobot tepi.

Saya biasanya memangkas jaringan saya dengan mendeklarasikan titik potong untuk bobot tepi seperti:

g2 <- delete.edges(g1, E(g1) [weight<20])

Apakah ada cara untuk menghapus 95% tepi bawah menurut beratnya, seperti:

g2 <- delete.edges(g1, E(g1) [weight outside the top 5%])

Atau sebaliknya mengekstrak 5% teratas?


person Mon    schedule 29.04.2013    source sumber
comment
Anda dapat menggunakan quantile() untuk menghitung kuantil 5% (nilai yang terbagi menjadi 5% dan 95%) dan kemudian menggunakannya sebagai titik batas.   -  person Rcoster    schedule 29.04.2013


Jawaban (1)


Tidak ada contoh yang diposting dan hanya sedikit kode yang ditawarkan, dan saya khawatir hanya dengan memberikan "bobot" dapat menyembunyikan penggunaan attach. Mungkin:

g2 <- delete.edges(g1, E(g1) [ weight < quantile(weight, 0.95) ])
person IRTFM    schedule 29.04.2013