它看起來像你想的一二的東西。如果你想準確度序列,然後你用(使用新的igraph函數名)好:
g <- sample_degseq(degree(gtest))
gsize(g) # Number of edges
# 7
gorder(g) # Number of nodes
# 6
如果你想有一個Barabasi優先連接網絡,然後這是一個有點困難指定邊緣的確切人數。我回答了一個similar question here,其中有一個小函數可以生成正確的參數。
genOutSeq <- function(n, m) {
n <- n-1 # Shift it along
rem <- m %% n
c(0, rep(m%/%n + 1, rem), rep(m%/%n, n - rem))
}
set.seed(11)
g <- sample_pa(gorder(gtest), power = 1,
out.seq = genOutSeq(gorder(gtest), gsize(gtest)),
algorithm = "psumtree-multiple", directed = FALSE)
這將創建正確數量的邊緣,但有些是多個。默認算法不會創建多邊,但可能無法創建完全正確的數字。
set.seed(11)
g <- sample_pa(gorder(gtest), power = 1,
out.seq = genOutSeq(gorder(gtest), gsize(gtest)),
directed = FALSE)
gsize(g)
# 6
據我所知,沒有辦法繼續添加邊緣,直到你打你的報價。在我連接的答案中,我只是添加了一些隨機邊緣,因爲只要圖形不太密集,通常不會那麼多。
努力爲這些請幫助。 –
如果你看''ba.game()',它表示傳入的第一個參數是頂點的數量而不是邊緣的數量,結果就是這種情況。 – Psidom
@Psidom對不起,這是我的打字錯誤。那麼我也會得到13的邊數,而不是7 –