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