我从网络存储库(http://networkrepository.com/actor-movie.php)下载了一个网络对象。但是,我未能使用igraph::read.graph在R中加载这个.edges文件,有以下错误:
dat <- read.graph("actor-movie.edges")
Error in read.graph.edgelist(file, ...) :
At foreign.c:101 : parsing edgelist file failed, Parse error有谁知道如何在R中加载这个网络吗?
发布于 2019-10-12 09:30:22
我认为igraph::read_graph的错误是由于分隔符--在文件中它是逗号分隔的,但是函数需要format="edgelist"的空格。但是,我们可以使用标准导入工具将fie作为一个数据格式读取。然后,igraph函数可以用来形成图形。
# download
pth <- "http://nrvis.com/download/data/misc/actor-movie.zip"
download.file(pth, destfile = "actor-movie.zip")
# see file names
unzip("actor-movie.zip", list = TRUE)
# unzip
unz <- unzip("actor-movie.zip", "actor-movie.edges")
# quick look : looks like edge list
readLines(unz, n=10)
# skip first line to avoid % bipartite unweighted"
dat <- read.table(unz, skip=1, sep=",")
# look
head(dat)
str(dat)
# load as a graph
library(igraph)
g <- graph_from_data_frame(dat)
ghttps://stackoverflow.com/questions/58350400
复制相似问题