我有一个用户数据库,他们都需要一个特定的用户角色,在下面的示例中,它是“用户角色 - 3”,用于他们所代表的每个公司。
ex <- data.frame('Firm' = c("Firm 1", "Firm 2", "Firm 2", "Firm 2", "Firm 3", "Firm 3", "Firm 4", "Firm 5"),
'User' = c("Person 1", "Person 2", "Person 2","Person 2","Person 3","Person 4", "Person 5", "Person 5"),
'Role' = c("User Role - 1", "User Role - 1","User Role - 2", "User Role - 3", "User Role - 1", "User Role - 3", "User Role - 3", "User Role - 2"))
每个用户必须具有用户角色 - 分配给每个公司的用户角色为 3。正如您在前表中看到的,有些人在单个公司担任多个角色,或者个人被分配到多个公司。我正在尝试过滤掉所有具有特定公司用户角色的用户 - 3,所以我只剩下那些没有的用户。
如您所见,公司 2 /人 2 已完全消失,因为他们被分配了多个角色给公司,其中之一是 3。虽然人 5 具有用户角色 3,但它仅适用于两家公司之一,所以他们是仍然在他们没有它的公司的名单上。
我有点难过,甚至开始说实话。
ex %>% gather(Firm)
似乎给键值对带来了在这里不适用的东西。
ex %>% subset(Role != "User Role - 3")
没有考虑到公司 2 可以完全删除。
ex %>% subset(Role == "User Role - 3")
我可以提取具有角色( . 当我尝试将子集应用于命令时,我得到一个错误。
toremove <- subset(ex$Role == "User Role - 3")
Error in subset.default(ex$Role == "User Role - 3") :
argument "subset" is missing, with no default
我敢肯定这一定非常简单,也许我想多了,现在只见树木不见森林。
任何帮助,甚至是正确前进的线索,都将不胜感激。
编辑:为表格添加了图片,因为格式由于某种原因不起作用。