我正在使用iGraph在R中运行随机游走功能,我的随机游走者正在沿着路网行驶。但是,当我运行以下代码时,我发现随机遍历总是返回到相同的顶点/节点。有什么方法可以让随机助步器每次都遵循一条新路径吗?
set.seed(1)
resample <- function(x, ...) x[sample.int(length(x), ...)]
n <- 1000
tm <- G
x = sub$idNode1[sample(1:length(sub$idNode1),1)]
start <- x # Random walk starting vertex
len <- 100 # Walk length
path <- c(start, rep(NA, len))
for(i in 2:(len + 1)) {
idx <- G[path[i - 1], ] != 0
if(any(idx)) {
path[i] <- resample(which(idx), 1, prob = G[path[i - 1], idx])
} else {
break # Stopping if we get stuck
}