1

我正在玩 d3Network 包。我从帮助文件中运行了以下示例。我确信它非常简单,但我无法弄清楚它如何识别要分配给哪个链接的节点。

devtools::install_github("d3Network", "christophergandrud")
library(d3Network)
library(rjson)

json_file <- "https://raw.github.com/christophergandrud/d3Network/master/JSONdata/miserables.json"
json_text <- paste(readLines(json_file), collapse = '')
MisLinks <- JSONtoDF(json_text, array = "links")
MisNodes <- JSONtoDF(json_text, array = "nodes")

d3ForceNetwork(Links = MisLinks, 
           Nodes = MisNodes, 
           Source = "source",
           Target = "target", 
           Value = "value", 
           NodeID = "name",
           Group = "group", 
           opacity = 1,
           file = "example_graph_force_directed.html")

查看两个数据框。文档说 Links 数据框必须按源排序,并且节点名称的顺序相同。

这是否意味着“节点 1”是“Myriel”而“节点 2”是“拿破仑”?如果是这样,那么节点 0 在哪里命名?

> head(MisLinks)
  source target value
1      1      0     1
2      2      0     8
3      3      0    10
4      3      2     6
5      4      0     1
6      5      0     1


> head(MisNodes)
             name group
1          Myriel     1
2        Napoleon     1
3 Mlle.Baptistine     1
4    Mme.Magloire     1
5    CountessdeLo     1
6        Geborand     1

谁能解释一下,或者给我看一个可以解释事情的小例子?

谢谢

4

1 回答 1

0

这是一个简单的例子,纯粹在 R 中创建:

jjnames<-c("A","B","C","D","E","F","G","H")
mygroup<-c(1,1,1,2,2,2,2,2)
JJNodes<-data.frame( name=jjnames, group=mygroup )
jjsources<-c( 0 , 4 )
jjtargets<-c(  1,  5 )
jjvalues<-rep( c(1,2) , length(jjtargets) ) ; jjvalues<-jjvalues[1:length(jjtargets)]
JJLinks<-data.frame(source=jjsources,target=jjtargets,value=jjvalues)
d3ForceNetwork(Links = JJLinks, Nodes = JJNodes, 
           Source = "source", Target = "target", 
           Value = "value", NodeID = "name", 
           Group = "group", width = 550, height = 400, zoom=TRUE,
           opacity = 0.9)`

链接由节点索引对定义。0 => 1 链接第一个节点和第二个节点。

于 2013-12-04T16:30:33.827 回答