【发布时间】:2020-07-14 02:25:28
【问题描述】:
我有一个与每个子组的行排名有关的问题。假设我有一个公司员工信息的数据。这家公司有三个部门(Alpha、Beta 和 Sigma),每个部门有两个团队(团队 1 和团队 2)。一个人可以是团队的成员或领导者。
问题是一个人可以属于跨部门具有不同角色的多个团队。我想做的是对于多个职位的人,我想对他/她的主要工作是什么,他/她的次要工作是什么进行排名。排名逻辑是职位是最重要的标准:Leader>Member。如果职位相同,则部门是下一个最重要的标准:Alpha>Beta>Sigma。如果部门也是平等的,那么我应该看团队:团队 1>团队>2。以下是结果的示例:
Person_Name Department_Name Team_Name Team_Position Ranking
Tony Alpha 1 Member 1
Tony Beta 1 Member 2
Bill Alpha 1 Leader 1
Bill Alpha 2 Leader 2
Bill Beta 1 Leader 3
Luke Alpha 1 Member 2
Luke Beta 1 Leader 1
Luke Sigma 1 Member 3
我想我应该可以使用 dplyr 包来做到这一点。但是,我在代码的细节上苦苦挣扎,不知道如何避免 for/if 循环,因为真实数据有更多的部门和团队。谢谢!
【问题讨论】: