2016-11-02 107 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消除空的孩子。