简单的 for 循环图

Simple for loop for graph

所以我生成了一个权重矩阵 B 和一个向量 b,其顺序为 select 个节点。

我的b=(3 5 1 2 4)

现在我想从向量 B 中对我 traversed.i 的边的权重求和。e 我想求和

B[3,5]+B[5,1]+...

所以我说:

for(i in 1:n-1){
    s=sum(B[b[i],b[i+1]])    
}
s

但是所有这些产生的输出都是这样的:

[1] 1

我是不是做了什么蠢事?

你可以试试:

sum(B[cbind(head(b,-1),b[-1])])

顺便说一下,你的循环应该是:

s = 0
for(i in 1:n-1){
    s=s + B[b[i],b[i+1]]    
}