2016-11-02 112 views
0

我無法以JSON格式獲取某些報告結構數據(約300個案例),因此我需要將它放入d3樹網絡中。我找不到一個功能來自動執行此轉換 - 大部分資源都使用羣集功能(例如,hclust),但我的數據僅僅是一個未加權的邊緣列表,因此這些功能不起作用。有什麼建議麼?謝謝!R - 將報告結構轉換爲JSON

的樣本數據來源:

jobTitle reportsTo 
CTO   CEO 
CPO   CEO 
Director CPO 
Manager  Director 

JSON輸出需要:

"name": "CEO", 
     "children": [ 
     { 
      "name": "CPO", 
      "children": [ 
       { 
        "name": "Director", 
        "children": [ 
         { 
          "name": "Manager", 
          "children": [] 
         } 
        ] 
       } 
      ] 
     }, 
     { 
      "name": "CTO", 
      "children": [] 
     } 
     ] 

回答

5

的輔助函數來建立/窩數據見https://github.com/timelyportfolio/d3r。這裏是一個使用你提供的數據的例子。

#install.packages("d3r") 
library(d3r) 

df <- read.table(
    textConnection(
'jobTitle reportsTo 
CTO   CEO 
CPO   CEO 
Director CPO 
Manager  Director 
' ), 
    header = TRUE, 
    stringsAsFactors = FALSE 
) 

d3r::d3_nest(df) 
# or it seems we should change order first 
d3r::d3_nest(df[,c(2,1)]) 

請注意,您將顯示空陣列children: []d3_nest消除空的孩子。