次の問題に対するベクトル化された解決策を考え出すのに苦労しています。私は2つのデータフレームを持っています:
> 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
つまり、すべての人が許可された職業を持っているかどうかを確認し、許可されていない名前を返したいのです。
たとえば、フレッドはビルダーにもパン屋にもなれるので、問題ありません。ただし、Bob は Barman または Biker になることができますが、Baker になることはできません (注: 私の使用例では許可されている職業は 2 つだけです)。
許可された職業を持たない名前のデータ フレームを返したい:
name profession permitted
1 Bob Baker Biker
2 Bob Baker Barman
助けてくれてありがとう