私はスタッフとロールのある列を含むプロジェクト情報を持つデータフレームを持っています。彼らの役割に応じてスタッフをフィルタリングしようとしています。私は役割によって名前をフィルタリングしようとしているが、それは仕事を得ることができないデータフレーム内の行単位でフィルタリング
project, staff
project1, 'jane (role1), john (role2), bob (role3)'
project2, 'sue (role2), bob (role3)'
project3, 'mike (role1), claire (role3)'
:
データは次のようになり。私は唯一の役割2をしたいのであれば、例えば、出力は次のようになります。
project, staff
project1, john
project2, sue
project3, NA
私は
str_subset(str_split(df$staff,","),"role2")
と
grep('role2',str_split(df$staff`,","),value=TRUE)
のバリエーションを試してみたが、それはしません作業。
チームの誰もロール2にいない場合、空のリストが表示されます(これは良いことです)。チームの誰かがロール2にいる場合は、すべてのチームメンバーのリストが表示されます(不十分です)。操作の順序に問題があるようです - role2の文字列をチェックしてから分割しています。なぜか分からない。
提案がありますか?
ありがとうございました。
ブランドン