ฉันจะเก็บหรือสร้างเครือข่ายใหม่จากขอบถ่วงน้ำหนัก 5% อันดับแรกได้อย่างไร

ฉันกำลังพยายามลดเครือข่ายขนาดใหญ่ให้เหลือเพียง 5% แรกของ Edge ซึ่งพิจารณาจากน้ำหนักของ Edge

ฉันมักจะตัดทอนเครือข่ายของฉันโดยประกาศจุดตัดสำหรับน้ำหนักขอบดังนี้:

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

มีวิธีลบขอบด้านล่าง 95% ตามน้ำหนักหรือไม่ เช่น:

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

หรือจะแยก 5% อันดับแรกออกมาเป็นอย่างอื่น?


person Mon    schedule 29.04.2013    source แหล่งที่มา
comment
คุณสามารถใช้ quantile() เพื่อคำนวณควอนไทล์ 5% (ค่าที่แบ่งออกเป็น 5% และ 95%) แล้วใช้เป็นจุดตัด   -  person Rcoster    schedule 29.04.2013


คำตอบ (1)


ไม่มีการโพสต์ตัวอย่างและมีเพียงโค้ดเพียงเล็กน้อยเท่านั้น และฉันกังวลว่าการระบุ "น้ำหนัก" เพียงอย่างเดียวอาจซ่อนการใช้ attach ได้ บางที:

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