【发布时间】:2015-08-22 12:37:46
【问题描述】:
我正在使用 R 中 networkD3 包中的 sankeyNetwork 函数,以找到 here 的代码为例。但是,我得到的只是一个空白屏幕。该图应该显示年龄组之间的感染流(按性别)。我的代码如下:
library(RCurl)
library(networkD3)
edges <- read.csv(curl("https://raw.githubusercontent.com/kilimba/data/master/infection_flows.csv"),stringsAsFactors = FALSE )
nodes = data.frame(ID = unique(c(edges$Source, edges$Target)))
nodes$indx =0
for (i in 1:nrow(nodes)){
nodes[i,]["indx"] = i - 1
}
edges2 <- merge(edges,nodes,by.x = "Source",by.y = "ID")
edges2$Source <-NULL
names(edges2) <- c("target","value","source")
edges2 <- merge(edges2,nodes,by.x = "target",by.y = "ID")
edges2$target <- NULL
names(edges2) <- c("value","source","target")
nodes$indx <- NULL
# Plot
sankeyNetwork(Links = edges2, Nodes = nodes,
Source = "source", Target = "target",
Value = "value", NodeID = "ID",
width = 700, fontsize = 12, nodeWidth = 30)
【问题讨论】:
-
我面临同样的问题。 sankeyNetwork 使用我正在使用的数据集的较小样本,但如果尝试使用完整集,它会显示一个空白屏幕。
标签: r sankey-diagram htmlwidgets networkd3