R-员工报告结构

azd*_*sci 1 r data-science

背景:我正在使用R和一些软件包从票务系统中提取JSON数据。我正在拉所有用户,并希望建立一个报告结构。

我有一个包含员工及其经理的数据集。这些列就是这样命名的(“雇员”和“经理”)。我正在尝试构建一棵到根的报告结构树。我们在一个IT组织中,但是我要提取所有员工数据,所以看起来像这样:

公司->业务部门->执行人员->董事->集团经理->经理->员工

这是基本思想。一些区域的树结构很小,其他区域则是多个层次。基本上,我想做的是得到一棵树或我可以引用的报告结构,以便为员工确定其董事是谁。可以删除1个级别,也可以删除最多5个或6个级别。

我遇到过data.tree,但是到目前为止,就我而言,我必须提供一个pathString定义该结构的。由于我只有两列,因此我想做的就是将此数据框放入函数中,并在找到员工时遍历列表,将其放在该经理下,当它找到该经理作为员工时,将其与嵌套在其下的所有内容一起嵌套在其直接报告下。

data.tree没有定义的情况下pathString,我一直无法弄清楚如何做到这一点,但是在这样做时,我只能pathString基于我对每一行(员工及其经理)所了解的内容。结果是一棵只有2个级别的树,并且董事未连接到其组经理,组经理未连接到其经理,依此类推。

我曾考虑过编写一些逻辑/循环来完成此操作,但是必须有一种更简单的方法或程序包可用于执行此操作。也许我没有pathString正确定义...。

最终,我希望最终结果是一个数据列,其中的列如下所示:

员工,经理1,经理2,经理3,经理X ...

当然,有些行只会在第1列和第2列中有条目,但其他一些行可能会上升许多级别。了解这些信息后,便可以在我们的配置管理系统中查找设备,找到所有者并将这些计数汇总到适当的主管下。

任何帮助将不胜感激。我无法发布数据,因为它本质上是机密的,但仅包含员工及其经理。我只需要连接所有点...谢谢!

Ian*_*ley 5

data.tree包FromDataFrameNetwork仅在以下情况下具有此功能:

library(data.tree)

DataForTree <- data.frame(manager = c("CEO","sally","sally","sue","mary", "mary"),
                          employee = c("sally","sue","paul","mary","greg", "don"),
                          stringsAsFactors = FALSE)


tree <- FromDataFrameNetwork(DataForTree)

print(tree)
Run Code Online (Sandbox Code Playgroud)

结果是:

1 CEO                 
2  °--sally           
3      ¦--sue         
4      ¦   °--mary    
5      ¦       ¦--greg
6      ¦       °--don 
7      °--paul  
Run Code Online (Sandbox Code Playgroud)