我正在努力为以下问题提出矢量化解决方案。我有两个数据框:
> people <- data.frame(name = c('Fred', 'Bob'), profession = c('Builder', 'Baker'))
> people
name profession
1 Fred Builder
2 Bob Baker
> allowed <- data.frame(name = c('Fred', 'Fred', 'Bob', 'Bob'), profession = c('Builder', 'Baker', 'Barman', 'Biker'))
> allowed
name profession
1 Fred Builder
2 Fred Baker
3 Bob Barman
4 Bob Biker
也就是说,我要检查 people 中的每个人都有一个允许的职业,并返回任何没有的名字。
例如,Fred 可以是 Builder 或 Baker,所以他很好。但是,Bob 可以是酒保或骑自行车的人,但不能是面包师(注意:在我的用例中,只有两个允许的职业)。
我想返回一个数据框,这些名称没有允许的职业:
name profession permitted
1 Bob Baker Biker
2 Bob Baker Barman
谢谢您的帮助