data.tree: левый узел соединения, чтобы заполнить NA для определенного формата - PullRequest
0 голосов
/ 30 апреля 2020

Интересно, как для некоторых базовых c операций для data.tree, таких как левое соединение. Например,

library(data.tree)
# right node
cell_node2 <- Node$new("cell2")
eval(lapply(c( "B", "C"), cell_node2$AddChild))
cell_node2$Set(class = c(NA, "B1", "C1"))

> print(cell_node2, "class")
  levelName class
1     cell2      
2      ¦--B    B1
3      °--C    C1

## left node
cell_node <- Node$new("cell")
eval(lapply(c("A", "B", "C"), cell_node$AddChild))
> print(cell_node)
  levelName
1     cell 
2      ¦--A
3      ¦--B
4      °--C

Теперь мы видим, что левый узел имеет A, но не правый узел, как соединить эти два узла вместе, чтобы иметь узел со всеми A, B, C, а также B и C класс? Вот вывод желания:

  levelName class
1     cell       
2      ¦--A      
3      ¦--B    B1
4      °--C    C1

Способ, которым я обработал это, состоит в том, чтобы преобразовать обратно в data.frame и выполнить левое соединение там, а затем преобразовать обратно в узел. Но я хотел бы посмотреть, смогу ли я справиться с этим прямо в дереве.

Спасибо!

...