Дерево данных CGlur в R: рекурсивный цикл, чтобы найти всех детей до конца - PullRequest
0 голосов
/ 07 октября 2018

Я пытаюсь использовать дерево данных ChristophGlur для ввода CSV, содержащего два столбца и создания дерева.Я уже нашел несколько постов по этому вопросу - Как рекурсивно построить дерево с неизвестной глубиной в R - но я получаю ошибки, такие как неправильные аргументы при задании окружения или индекса за пределами границ (я проверил, что я используюимя правого столбца, а также внутри фрейма данных).Когда я пробую пример в постах, я получаю ту же ошибку.Я супер новичок в R. Так что извините, если я не понял очевидных особенностей языка.

Когда я следую за документом CGlur по CRAN, я могу заставить свою программу перечислить первого ребенка, но не более того.Вот пример данных.Итак, как вы можете видеть ниже, у родителя 14650175 может быть 4/5-значный дочерний элемент и 8/9-значный дочерний элемент.Цифры 4/5 всегда являются листовыми узлами.9-значный ребенок указывает, что есть дети этих детей.Мне нужно перечислить всех детей одного из родителей, пока мы не достигнем листа.В приведенных ниже примерах данных, если я запросил 14650175, я должен получить 14 детей (всего 17 детей, но еще 3 ребенка из 9 цифр разбиваются о листья).Идеи?Пожалуйста, игнорируйте нумерацию - это не столбец данных, я просто не мог понять, как вставить список в этом посте.У моего csv есть только fc и ic, которые являются вторым и третьим столбцами ниже.

fc ic

  1. 14650160 1001
  2. 14650160 1033
  3. 146501601053
  4. 14650160 2047
  5. 14650160 14411
  6. 14650165 11261
  7. 14650165 11334
  8. 14650165 11478
  9. 14650165 11823
  10. 14650165 14650160
  11. 14650175 * 14650165
  12. 14650175 21500100
  13. 21500100 2047
  14. 21500100 23563
  15. 21500100 23568
  16. 21500100 23573
  17. 21500100 23578

Код, отображающий глубину = 1 дочерний элемент

library(data.tree)
library(treemap)
test_Data <- read.csv("D:/tree_DATA.csv")
View(test_Data)
data(test_Data)
tree(test_Data)
test_Data$pathString <-  paste("ITree",test_Data$fc, test_Data$ic,sep ="/")
ing <- as.Node(test_Data)

Код, который дает ошибку поднабора

tree <- FromListExplicit(ing[1], nameName = "fc", childrenName = "ic")
...