R中的匹配和返回列表

我有两个列所有者和用户的数据框,两个字符串,两个名称.每行代表一种关系.所有者已在论坛上发布了一个问题,用户已重播.当特定用户成为所有者时,我需要所有用户的列表.重复是可以的,因为时间变量存在,列表必须与它相同.

| Owner | User |   
|-------|------|  
| A     | B    |  
| A     | C    |  
| B     | V    | 
| B     | D    | 
| C     | A    |

输出将是每个行的新字符串列输出,并在该输出的分类之后.我自己可以做分类.

| Owner | User | Output | Cat_output |  
|-------|------|--------|------------|  
| A     | B    | V,D    | indirect   |  
| A     | C    | A      | direct     |  
| B     | V    |        | empty      |  
| B     | D    |        | empty      |  
| C     | A    | B,C    | direct     | 

我会在Excel中使用Return MULTIPLE corresponding values for ONE Lookup Value, Horizontally, in one Row将其返回.

我必须在R中重现这个并且无法弄明白.

谢谢
普里莫兹

最佳答案 与其他人类似,我想到了分裂……

“输出”作为列表:

df$Output <- with(df, split(User, Owner))[df$User]
df
#   Owner User Output
# 1     A    B   V, D
# 2     A    C      A
# 3     B    V   NULL
# 4     B    D   NULL
# 5     C    A   B, C

“输出”作为单个字符串“

df$Output <- sapply(with(df, split(User, Owner)), toString)[df$User]
df
#   Owner User Output
# 1     A    B   V, D
# 2     A    C      A
# 3     B    V   <NA>
# 4     B    D   <NA>
# 5     C    A   B, C
点赞