I have an organisational structure expressed as a tree.
library(data.tree)
library(dplyr)
df <-data.frame(from = c('BIG CORP Inc.','BIG CORP Inc.', 'BIG CORP Inc.', 'ABC Inc.', 'ABC Inc.',
'Subsidiary 1', 'Subsidiary 1', 'Subsidiary 2', 'Subsidiary 2', 'BCD Inc.', 'CDE Inc.'),
to = c('ABC Inc.', 'BCD Inc.', 'CDE Inc.', 'Subsidiary 1', 'Subsidiary 2',
'Subsidiary 3', 'Subsidiary 4', 'Subsidiary 4', 'Subsidiary 3', 'Subsidiary 4', 'Subsidiary 4'),
ownership = c(1,1,1, 1, 0.5, 0.5, 0.25, 0.25, 0.5, 0.25, 0.25),
cost = c(0, 100,100,100,100,100,100,100,100 ,500, 500))
org_str1 <- FromDataFrameNetwork(df)
print(org_str1, "ownership", "cost", "exposure" ,"level")
If you note, the relationship in the tree is that one child can have many parents. As you can see in the image below, Subsidiary 4 sits under 4 unique underlying branches. Similarly Subsidiary 3 sits on 2 unique branches.
How can I summarize my tree so that wherever a child sits on multiple branches I can view that child under the earliest common ancestor.
So for example Subsidiary 4 would need to sit under BIG CORP as that is the first common ancestor of all branches with Subsidiary 4 in it. Similarly Subsidiary 3 should report directly under ABC Inc.
