如何在 R 中进行一些计算?
How do I make some calculations in R?
我是 R 的新手,这个问题很困扰我。我有一个加权和定向网络,我想执行以下操作:
我有一个 igraph 网络。我想计算所有边的 edge_betweenness 并创建一个包含以下列的矩阵:
edgeID, node1, node2, weight, edgeBetweenness
我所说的 edgeID 是指图中边的索引。我需要索引或 ID,因为我想在另一个矩阵中使用这个矩阵的元素。
非常感谢您的帮助。
首先,请考虑卡米尔关于如何提供可重现的最小示例的建议。对于以后的帖子,总是 提供一些示例数据供我们使用是很好的。
针对您的问题,让我们生成一个随机样本图并为每条边分配一些随机权重。我正在使用固定的随机种子来确保随机数据的可重复性。
set.seed(2020)
ig <- graph.full(5)
E(ig)$weights <- sample(10, length(E(ig)), replace = T)
然后我们可以使用igraph::as_data_frame
和igraph::edge_betweenness
分别提取边列表(包括权重)和边介数。
transform(
edgeID = 1:length(ig),
as_data_frame(ig),
edgeBetweenness = edge_betweenness(ig))
# from to weights edgeID edgeBetweenness
# 1 1 2 7 1 1
# 2 1 3 6 2 1
# 3 1 4 8 3 1
# 4 1 5 1 4 1
# 5 2 3 1 5 1
# 6 2 4 4 6 1
# 7 2 5 10 7 1
# 8 3 4 6 8 1
# 9 3 5 1 9 1
# 10 4 5 8 10 1
我是 R 的新手,这个问题很困扰我。我有一个加权和定向网络,我想执行以下操作:
我有一个 igraph 网络。我想计算所有边的 edge_betweenness 并创建一个包含以下列的矩阵:
edgeID, node1, node2, weight, edgeBetweenness
我所说的 edgeID 是指图中边的索引。我需要索引或 ID,因为我想在另一个矩阵中使用这个矩阵的元素。
非常感谢您的帮助。
首先,请考虑卡米尔关于如何提供可重现的最小示例的建议。对于以后的帖子,总是 提供一些示例数据供我们使用是很好的。
针对您的问题,让我们生成一个随机样本图并为每条边分配一些随机权重。我正在使用固定的随机种子来确保随机数据的可重复性。
set.seed(2020)
ig <- graph.full(5)
E(ig)$weights <- sample(10, length(E(ig)), replace = T)
然后我们可以使用igraph::as_data_frame
和igraph::edge_betweenness
分别提取边列表(包括权重)和边介数。
transform(
edgeID = 1:length(ig),
as_data_frame(ig),
edgeBetweenness = edge_betweenness(ig))
# from to weights edgeID edgeBetweenness
# 1 1 2 7 1 1
# 2 1 3 6 2 1
# 3 1 4 8 3 1
# 4 1 5 1 4 1
# 5 2 3 1 5 1
# 6 2 4 4 6 1
# 7 2 5 10 7 1
# 8 3 4 6 8 1
# 9 3 5 1 9 1
# 10 4 5 8 10 1