Так что я сейчас пытаюсь получить случайный начальный путь между узлами. Я пробовал следующий код, но иногда он «пропускает» узел i, иногда один и тот же узел посещается дважды, а не пересекает каждый. Но так как я определил «столбец» посещенного узла как все 0, я не понимаю, почему это должно произойти при использовании команды (> 0). Любой совет?Для цикла и команды «which»
A<-matrix(sample(1:15,25,replace=TRUE), ncol=5)
n=nrow(A)
b=c()
a=c(1:nrow(A))
b[1]=sample(a,1)
for(i in 2:n){
A[,b[i-1]]<-rep(0,n)
d=which(A[b[i-1],]>0)
b[i]=sample(d,1)
}
print(b)
Почему бы просто не сделать 'образец (seq_len (Ncol (A)))', а затем вы получите путь между пятью колоннами, которые никогда не повторит столбец? Если вы хотите повторить, просто попробуйте 'sample (seq_len (ncol (A)), replace = TRUE)' – thelatemail