json – R中的可折叠树

前端之家收集整理的这篇文章主要介绍了json – R中的可折叠树前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有兴趣通过这篇关于R的可折叠树的文章

http://bl.ocks.org/mbostock/4339083

我正在尝试使用这样的玩具数据集再现相同的例子

  1. ID Car Bus Train Feedback_Car Feedback_Bus Feedback_Train
  2. 23433 Yes Yes Yes Toyota GreyHound Amtrak

哪个可以表示为可折叠树,如下所示

我想知道如果有人可以帮助我重现这个概念(可折叠的树),使用上面的玩具数据集,这个例子将给我一个想法如何不同的组件的工作,例如格式化的JSON数据在R等等,并作为一个初始点.提前致谢.

解决方法

您可以使用data.tree包将您的数据转换为JSON,也可以使用networkD3包:
  1. dat <- read.table(text="ID Car Bus Train Feedback_Car Feedback_Bus Feedback_Train
  2. 23433 Yes Yes Yes Toyota GreyHound Amtrak",header=TRUE)
  3.  
  4. ## Make an edgelist from your data
  5. edges <- rbind(cbind(dat$ID,names(dat)[2:4]),cbind(names(dat)[2:4],as.vector(t(dat[5:7]))))
  6.  
  7. library(data.tree)
  8. tree <- FromDataFrameNetwork(as.data.frame(edges))
  9.  
  10. tree

那将打印如下:

  1. levelName
  2. 1 23433
  3. 2 ¦--Car
  4. 3 ¦ °--Toyota
  5. 4 ¦--Bus
  6. 5 ¦ °--GreyHound
  7. 6 °--Train
  8. 7 °--Amtrak

现在,使用树结构来绘制networkD3:

  1. lol <- ToListExplicit(tree,unname = TRUE)
  2.  
  3. library(networkD3)
  4.  
  5. diagonalNetwork(lol)

不幸的是,这并不支持可折叠的树木.但here是一个例子,如何获得你想要的闪光.为了将您的数据转换为正确的JSON格式,只需执行以下操作:

  1. library(jsonlite)
  2. json <- toJSON(lol)

猜你在找的JavaScript相关文章