我正在尝试使用网络流量数据制作交互式网站流量图。
使用networkd3个包。
它只是一个simpleNetwork
,然而一直给我这个警告并强制关闭RStudio。
library(networkD3)
simpleNetwork(data.frame(BWT2012$Visitors, 1:189157, fontSize = 16, nodeColour = "blue", nodeClickColour = "red", textColour = "black", opacity = 0.6, zoom = T))
警告消息:看起来源/目标不是零索引。这个 在Javascript中是必需的,因此您的绘图可能无法呈现。
我一直在研究几个小时,但似乎无法找到它是如何工作的。我知道javascript从0读取,r从1读取。这就是为什么它不起作用。
答案 0 :(得分:3)
任何人都很难帮助你,因为你还没有提供可重复的例子,即我们不知道你的数据框BWT2012
是什么样的
您的代码中似乎存在错误... data.frame(BWT2012$Visitors, 1:189157, fontSize = 16, nodeColour = "blue", nodeClickColour = "red", textColour = "black", opacity = 0.6, zoom = T)
无论BWT2012
看起来如何都无效,因为您将元素传递给{{1}具有不同长度的函数。我怀疑你的意思是data.frame
,其中simpleNetwork(data.frame(BWT2012$Visitors, 1:189157), fontSize = 16, nodeColour = "blue", nodeClickColour = "red", textColour = "black", opacity = 0.6, zoom = T)
函数的第一个参数是一个完整的simpleNetwork()
,data.frame()
作为第一个参数,BWT2012$Visitors
作为其第二个参数,即您打算将1:189157
函数传递给第一列/变量等于simpleNetwork()
且第二列等于BWT2012$Visitors
假设上面的#2是正确的,您尝试传递的数据框告诉1:189157
simpleNetwork
中的值是每个链接的来源,以及{{1}中的值1}}是每个链接的目标。这似乎是一个非常不可能的情况,所以我会确保你得到你认为你得到的东西。
您提到的警告只是一个警告......它不会阻止该功能运行。在许多情况下(可能是networkd3中最近的所有变化),它仍会绘制图形,尽管结果可能是意料之外的。例如......
BWT2012$Visitors
使用#4中的示例,如果您想对源和目标ID重新编号以便它们被编入索引并避免警告,那么您可以...
1:189157