2017-02-26 75 views
0

我想製作使用網站流量數據的交互式網站流量圖。它看起來像源/目標不是零索引networkd3

使用networkD3包。

這只是一個簡單的網絡,但不斷給我這個警告,並強制關閉R Studio。

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讀取和從1讀取。這就是爲什麼它不起作用。

回答

3
  1. 這是非常困難的人來幫助你,因爲你沒有提供一個可重複的例子,即,我們不知道你的數據幀BWT2012看起來像

  2. 似乎是在一個錯誤您的代碼... data.frame(BWT2012$Visitors, 1:189157, fontSize = 16, nodeColour = "blue", nodeClickColour = "red", textColour = "black", opacity = 0.6, zoom = T)無論如何BWT2012看起來都不起作用,因爲您正在向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$Visitors1:189157

  3. 假設#2上方是否正確,你正在試圖通過該數據幀是告訴simpleNetwork,在BWT2012$Visitors的值是每個鏈路的源極的第二列相等,並且1:189157中的值是每個鏈接的目標。這似乎是一個不太可能的情況,所以我會確保你得到你認爲你得到的東西。

  4. 您提到的警告只是一個警告......它不會停止運行的功能。在許多情況下(也許是因爲最近網絡D3的變化),它仍會繪製圖表,儘管結果可能是意想不到的。 ...

    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) 
    
+0

嗨,謝謝你的評論。我正在使用的文件非常大(大量的189157行)。我怎樣才能上傳或顯示這個文件給你? –

+0

'庫(networkD3) 源< - C(1,1,2) 目標< - C(2,3,3) 源< - 源 - 1 目標< - 目標 - 1 NetworkData < - 數據。 frame(Source,Target) simpleNetwork(NetworkData) simpleNetwork(data.frame(BWT2012 $ Visitors,1:189157),fontSize = 16,nodeColour =「blue」,nodeClickColour =「red」,textColour =「black」,opacity = 0.6,縮放= T)'我試過這個沒有運氣。第一次使用R. –

+0

通常你可以將一個較大的數據集縮小到一個較小的數據集,但仍然有相同的效果來演示這個問題......所以也許只有前5行「BWT2012」才足以看到問題和/或複製它。你上面粘貼的代碼,除了你添加的最後一行絕對有效。此外,我可以告訴你之前,你打擾掙扎...試圖繪製200,000鏈接與網絡D3不會順利......它不是旨在處理這麼多的鏈接。 –

相關問題