Интересно, как для некоторых базовых 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 и выполнить левое соединение там, а затем преобразовать обратно в узел. Но я хотел бы посмотреть, смогу ли я справиться с этим прямо в дереве.
Спасибо!