gpt4 book ai didi

r - R/igraph 中的加权边

转载 作者:行者123 更新时间:2023-12-04 10:45:32 25 4
gpt4 key购买 nike

我正在使用 R 和 igraph 包绘制一个用 graphml 编写的图形,我想使用此语法中包含的 weight 参数

<edge id="e389" source="w4" target="w0">
<data key="d1">0.166666666667</data>
</edge>

我可以用

获取值
weight = E(f)$weight  // f is the graph

但我不知道如何在计算 df = degree(f) 之前使用 weight

更多信息:所有节点都相互连接,权重为 1/(number_of_nodes - 1),因此每个节点的度数应为 1。

图形文件

<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<key id="d0" for="node" attr.name="label" attr.type="string"/>
<key id="d1" for="edge" attr.name="weight" attr.type="float"/>
<key id="d2" for="node" attr.name="type" attr.type="string"/>
<key id="d3" for="node" attr.name="tweet" attr.type="int"/>
<key id="d4" for="node" attr.name="color" attr.type="string"/>
<graph id="G" edgedefault="undirected">
<node id="w4">
<data key="d0">value1</data>
<data key="d2">word</data>
<data key="d1">0.166666666667</data>
<data key="d4">green</data>
</node>
.
.
.
<node id="w2">
<data key="d0">value2</data>
<data key="d2">word</data>
<data key="d1">0.166666666667</data>
<data key="d4">green</data>
</node>
<edge id="e389" source="w4" target="w0">
<data key="d1">0.166666666667</data>
</edge>

最佳答案

很可能您不是在寻找 degree(),因为它不关心边权重。您可能在寻找 graph.strength() 函数吗?

# create fully connected graph
g <- graph.full(10)

# assign weights such that every weight is 1/number_of_nodes -1
E(g)$weight <- 1/( length( V(g) ) -1 )

# calculate the "weighted degree"
graph.strength(g)

[1] 1 1 1 1 1 1 1 1 1 1

或者,您是否正在寻找归一化度数?

degree( g, normalized = TRUE )

[1] 1 1 1 1 1 1 1 1 1 1

关于r - R/igraph 中的加权边,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25381786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com