该文件下载于:networkpository.com/fb-pages company.php。下面的代码不工作。有什么想法吗?
read.nodes("fb-pages-company.nodes")如果从.nodes和.edges文件中获取is对象会更好。
谢谢!
发布于 2021-08-08 00:30:45
假设您使用的是来自read.nodes包的函数taxonomizr,我相信该函数并不打算用于吞食图形。taxonomizr文档说:
函数用于根据NCBI的accession2taxid和taxdump文件将分类法分配给NCBI的登录号和分类号。此包允许用户下载NCBI数据转储,并为快速和本地分类分配创建本地数据库。
我想你是想把fb页面公司的数据作为一个图表来吃。您只需要从边缘文件中获得完整的图表,但是如果您希望能够访问公司名称,则需要节点文件。这个答案显示了如何读取两个文件,创建图表,并将公司名称与节点相关联。如果这不是你想做的,请解释一下你想要什么。
library(igraph)
Nodes = read.csv("fb-pages-company.nodes")
Edges = read.csv("fb-pages-company.edges")
g = graph_from_data_frame(Edges, directed = TRUE)
vcount(g)
[1] 14113
ecount(g)
[1] 52310节点和边缘计数与源页面上给出的图形的文档匹配。但是,现在,节点是用其新的_id命名的,我们希望更改为公司名称。我们首先使用new_id方便地引用公司名称。
row.names(Nodes) = Nodes$new_id让我们继续使用new_ids,以防以后需要它们。
V(g)$new_id = V(g)$name现在将名称更改为公司名称
V(g)$name = Nodes[V(g)$new_id, 2]
Encoding(V(g)$name) = "UTF-8"指定编码的原因是,有些名称实际上不是英文,而不是拉丁字母。如果不更改为UTF-8,则名称将无法正确显示。
现在,让我们看一看,以确保结果看起来不错。
cat(paste(head(V(g)$name, 10), collapse="\n"), "\n")
Sportsnavi
NRK P1
蘋果余艾苔
99.1 WQIK
TalkTalk
Tahiti Tourisme
United
NBC OUT
Time Out Los Angeles
ConnectSafely 您可以使用new_id的节点文件来检查这一点。
head(V(g)$new_id, 10)
[1] "0" "1" "8087" "2" "3" "4" "4588" "6" "8" "9"您可以在节点文件中搜索,并发现new_id=0与公司Sportsnavi相对应。new_id=1与NRK P1公司相对应。诸若此类。
https://stackoverflow.com/questions/68670579
复制相似问题