r语言 - 看起来源/目标不是零索引网络3



我正在尝试使用网络流量数据制作交互式网站流量图。

使用 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 读取。这就是为什么它不起作用的原因。

  1. 任何人都很难帮助您,因为您没有提供可重现的示例,即我们不知道您的数据框BWT2012是什么样子的

  2. 您的代码中似乎有一个错误... 无论BWT2012是什么样子,data.frame(BWT2012$Visitors, 1:189157, fontSize = 16, nodeColour = "blue", nodeClickColour = "red", textColour = "black", opacity = 0.6, zoom = T)都不起作用,因为您要将不同长度的元素传递给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,第二列等于1:189157

  3. 假设上面的 #2 是正确的,您尝试传递的数据框告诉simpleNetworkBWT2012$Visitors中的值是每个链接的来源,1:189157中的值是每个链接的目标。这似乎是一个非常不可能的情况,所以我会确保你得到你认为你得到的东西。

  4. 你提到的警告只是一个警告...它不会阻止函数运行。在许多(可能是自 networkd3 最近更改以来的所有情况)情况下,它仍然会绘制图形,尽管结果可能是出乎意料的。例如。。。

    Source <- c(1, 1, 2)
    Target <- c(2, 3, 3)
    NetworkData <- data.frame(Source, Target)
    simpleNetwork(NetworkData)
    
  5. 使用 #4 中的示例,如果您想对源和目标 ID 重新编号,以便它们被索引为 0 并避免警告,您可以...

    Source <- c(1, 1, 2)
    Target <- c(2, 3, 3)
    Source <- Source - 1
    Target <- Target - 1
    NetworkData <- data.frame(Source, Target)
    simpleNetwork(NetworkData)
    

相关内容

  • 没有找到相关文章

最新更新