如何解决从 igraph 中的 edgelist 创建一个对象
我是 igraph 的新手。我将它与 R 一起使用(我也是新手)。 我想稍后使用 CINNA R 包,但我正在努力将我的网络加载到 igraph/从我的文件中创建一个 igraph 对象。 到目前为止我尝试过的:
-
```read.graph("file",format = "graphml") Error in read.graph.graphml(file,...) : At rinterface.c:6077 : cannot open GraphML file,File operation error```
-
```read.graph("file",format="gml")```
--> 然后 R 崩溃了。
-
```read.graph("file",format="edgelist") Error in read.graph.edgelist(file,...) : At rinterface.c:5006 : cannot read edgelist,File operation error```
-
```graph_from_edgelist("file",directed=TRUE) Error in graph_from_edgelist("file",: graph_from_edgelist expects a matrix with two columns```
有人了解我的问题并知道如何解决吗?
解决方法
您需要将文件作为数据框导入,然后您可以使用数据框创建 igraph 对象:
这是来自 igraph 的示例:
library(igraph)
df <- data.frame(
A = c("Berlin","Amsterdam","New York"),B = c("Munich","Utrecht","Chicago"))
df.g <- graph.data.frame(d = df,directed = FALSE)
plot(df.g,vertex.label = V(df.g)$name)
更多解释,你可以看到:
Introduction to Network Analysis with R
要将文件作为数据框导入,您可以尝试以下操作:
links <- read.csv("Dataset1.csv",header=T,as.is=T)
# or read.table(file='Dataset1.csv')
head(links)
net <- graph_from_data_frame(d=links,vertices=nodes,directed=T)
plot(net)
另外,在这里看看(第 3 部分):
要从 igraph 方便的格式创建图形,您可以使用:
# possible formats : read_graph(file,format = c(“edgelist”,“pajek”,“ncol”,“lgl”,“graphml”,“dimacs”,“graphdb”,“gml”,“dl”),…)
graph1 <- read.graph(file='your_file_name.gml',format="gml")
class(graph1)
plot(graph1)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。