2013-04-29 6 views
2
.

. Я пытаюсь уменьшить большую сеть до лучших 5% ее краев, определяемых весом кромки.В R, Igraph. Сохраняйте или создавайте новую сеть из верхних 5% взвешенных краев.

Я обычно подрезать свою сеть, объявив точки отсечения для edgeweight так:

< g2 - delete.edges (g1, E (g1) [вес < 20])

есть ли способ, чтобы удалить нижние 95% кромки в зависимости от веса, что-то вроде:

< g2 - delete.edges (g1, Е (g1) [веса за пределами до p 5%])

? или извлечь верхние 5% в противном случае?

Спасибо.

+0

Вы можете использовать 'quantile()' для вычисления 5% -ного квантиля (значение, которое делится на 5% и 95%), а затем использовать его как точку отсечения. – Rcoster

ответ

2

Не было ни одного примера, представленного и предлагаемого только минимального кода, и я беспокоюсь, что просто поставка «веса» может скрыть использование attach. Возможно:

g2 <- delete.edges(g1, E(g1) [ weight < quantile(weight, 0.95) ]) 
+0

Спасибо! Ты лучший! – Mon