Я работаю над проектом, для которого требуется запустить ctree
, а затем построить его в интерактивном режиме - например, в древовидном макете D3.js, мое главное препятствие состоит в том, чтобы преобразовать вывод ctree
в формат json
для последующего использования javascript. .
Вот что мне нужно (с примером из данных диафрагмы):
> library(party)
> irisct <- ctree(Species ~ .,data = iris)
> irisct
Conditional inference tree with 4 terminal nodes
Response: Species
Inputs: Sepal.Length, Sepal.Width, Petal.Length, Petal.Width
Number of observations: 150
1) Petal.Length <= 1.9; criterion = 1, statistic = 140.264
2)* weights = 50
1) Petal.Length > 1.9
3) Petal.Width <= 1.7; criterion = 1, statistic = 67.894
4) Petal.Length <= 4.8; criterion = 0.999, statistic = 13.865
5)* weights = 46
4) Petal.Length > 4.8
6)* weights = 8
3) Petal.Width > 1.7
7)* weights = 46
Теперь я хочу преобразовать вывод ctee
в следующий формат JSON, используя некоторый алгоритм (я сделал это вручную), хотя, вероятно, это не лучший способ его преобразования:
{"name" : "Petal.Length <= 1.9 criterion = 1","value": 60, "children" : [
{"name" : "n=50" ,"value": 60},
{"name" : "Petal.Length > 1.9 criterion = 1","value": 60, "children": [
{"name" : "n=46","value": 60 },
{"name" : "Petal.Length > 4.8","value": 60, "children" :[
{"name" : "Petal.Width > 1.7" ,"value": 60},
{"name" : "46" ,"value": 60}
]}] }
]}
Вот две фотографии графиков R и D3.js
:
я уже пытался использовать RJSONIO
для объекта ctree, это не очень помогло.
Кто-нибудь когда-либо преобразовывал объект/вывод ctree в JSON для использования макета дерева D3.js? если нет, есть ли у кого-нибудь идея алгоритма, который может преобразовать один вывод в другой?
Заранее благодарю за любую помощь!