向量化R中的循环,该循环对矩阵中每行中的所有值求和

向量化R中的循环,该循环对矩阵中每行中的所有值求和,r,loops,vectorization,igraph,R,Loops,Vectorization,Igraph,我没有找到我的问题的答案,虽然它看起来很简单-如果这已经得到了回答,请原谅我。我正在处理定向加权网络数据,我想通过对每个邻居的值求和,并通过边的权重加权,计算每个节点对其传出邻居的某些属性的“暴露” 这是一个非常简单的循环。g[]是我得到的邻接矩阵: library(igraph) #Data example relations <- data.frame(from=c("Bob", "Cecil", "Cecil", "David", "David", "Esme

我没有找到我的问题的答案,虽然它看起来很简单-如果这已经得到了回答,请原谅我。我正在处理定向加权网络数据,我想通过对每个邻居的值求和,并通过边的权重加权,计算每个节点对其传出邻居的某些属性的“暴露”

这是一个非常简单的循环。g[]是我得到的邻接矩阵:

    library(igraph)
    #Data example
    relations <- data.frame(from=c("Bob", "Cecil", "Cecil", "David", "David", "Esmeralda"),
                            to=c("Alice", "Bob", "Alice", "Alice", "Bob", "Alice"),
                            weight=c(4,5,5,2,1,1))
    g <- graph.data.frame(relations, directed=TRUE)                 

    # Loop
    for (i in c(1:nrow(g[]))){
      nodes$neigh_activity[[i]] <- sum(nodes[which(g[i,]>0), ]$activity*g[i, which(g[i,]>0)])
    }

库(igraph)
#数据示例
从这个答案来看,关系:

从这个答案中:


感谢回答的人

经过一番思考后,我的问题似乎措词不当:我不想对accross行求和,而是想使用行值定义权重和索引,以便与其他数据帧中的值求和

无论如何,我找到了我的答案!简单代数是一条出路:

nodes$neigh_activity<-g[]%*%as.matrix(nodes$activity)

nodes$neigh_activity感谢回答问题的人

经过一番思考后,我的问题似乎措词不当:我不想对accross行求和,而是想使用行值定义权重和索引,以便与其他数据帧中的值求和

无论如何,我找到了我的答案!简单代数是一条出路:

nodes$neigh_activity<-g[]%*%as.matrix(nodes$activity)

节点$neigh\u活动什么是
节点
?ie你有
sum(节点…
Hi!是抱歉,节点是具有节点属性的data.frame。无论如何,我找到了答案。非常感谢。什么是
节点
?ie你有
sum(节点…
Hi!是抱歉,节点是具有节点属性的data.frame。无论如何,我找到了答案。非常感谢。