简单的图形循环

时间:2015-02-18 16:24:02

标签: r loops for-loop graph nodes

所以我制作了一个权重矩阵B和一个我想选择节点的顺序的矢量b。

我的b=(3 5 1 2 4)

现在我想从矢量B中总结我所经过的边缘的权重。我想要求和

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

所以我说:

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

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

[1] 1

我做过傻事吗?

1 个答案:

答案 0 :(得分: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]]    
}