简单的 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]]
}
所以我生成了一个权重矩阵 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]]
}