【发布时间】:2017-07-20 21:41:11
【问题描述】:
我正在尝试从数据树结构中计算小时数。我可以直接在父节点下添加小时数,但不能包括分配给树中父节点的小时数。任何建议都会很棒。
这是我得到的:
levelName hours totalhours
1 Ned NA 1
2 °--John 1 3
3 °--Kate 1 3
4 ¦--Dan 1 1
5 ¦--Ron 1 1
6 °--Sienna 1 1
这就是我要找的:
levelName hours totalHours
1 Ned NA 5
2 °--John 1 5
3 °--Kate 1 4
4 ¦--Dan 1 1
5 ¦--Ron 1 1
6 °--Sienna 1 1
这是我的代码:
# Install package
install.packages('data.tree')
library(data.tree)
# Create data frame
to <- c("Ned", "John", "Kate", "Kate", "Kate")
from <- c("John", "Kate", "Dan", "Ron", "Sienna")
hours <- c(1,1,1,1,1)
df <- data.frame(from,to,hours)
# Create data tree
tree <- FromDataFrameNetwork(df)
print(tree, "hours")
# Get running total of hours that includes all nodes and children values.
tree$Do(function(x) x$total <- Aggregate(x, "hours", sum), traversal = "post-order")
print(tree, "hours", runningtotal = tree$Get(Aggregate, "total", sum))
【问题讨论】: