2016-04-08 138 views
0

我遇到的問題是,對於網絡分析類我需要從IGRAPH包使用erdos.renyi.game命令R. 此命令的分配是這樣的:錯誤使用IGRAPH命令erdos.renyi.game

erdos.renyi.game(n, p.or.m, type=c("gnp", "gnm"), 
       directed = FALSE, loops = FALSE, ...) 

不幸的是,它並不重要我填寫了N或M(我需要米),類型,或定向,我總是得到同樣的錯誤:

Error in .Call("R_igraph_erdos_renyi_game", as.numeric(n), as.numeric(type1), : At games.c:585 : Invalid probability given, Invalid value

在課堂上我身邊的人使用與我一樣的代碼,併爲他們工作。那麼有沒有人可以幫助我,因爲我不確定發生了什麼,老師也不明白嗎?

+0

你可以發佈你正在嘗試的代碼到你的問題的正文中,請格式化它嗎?謝謝。 – ManoDestra

+0

歡迎來到StackOverflow。請閱讀[我如何問一個好問題](http://stackoverflow.com/help/how-to-ask)和[proding一個最小可重現的例子](http://stackoverflow.com/questions/5963269/how -to-化妝一個偉大-R-重複性,例如#答案-5963610)。您應該提供您嘗試的確切代碼(包括加載所需的軟件包)。 – lukeA

回答

0

我想第二個值,你傳遞給erdos.renyi.game,是不是01之間的數值:

library(igraph) 
par(mfrow=c(1,3)) 
plot(erdos.renyi.game(10, p=1)) 
plot(erdos.renyi.game(10, p=.5)) 
plot(erdos.renyi.game(10, p=0)) 

erdos.renyi.game(10, p=10) 
# Error in .Call("R_igraph_erdos_renyi_game", as.numeric(n), as.numeric(type1), : 
# At games.c:585 : Invalid probability given, Invalid value 

例如,10更大1,因此不是一個有效的概率。

+0

該功能有點令人困惑。我剛剛讀到你需要'm',而不是'p',在這種情況下,你必須改變''type'參數:'g < - erdos.renyi.game(10,p.or.m = 2,type = 「GNM」)'。 '2'是所需邊緣的數量。 – lukeA