我在R中有一个数据帧,每行有一个个体.有时,个人出现在两行,我想根据重复的ID组合这些行.
问题是,每个人都有多个ID,当ID出现两次时,它不一定出现在同一列中.
这是一个示例数据框:
dat <- data.frame(a = c('cat', 'canine', 'feline', 'dog'),
b = c('feline', 'puppy', 'meower', 'wolf'),
c = c('kitten', 'barker', 'kitty', 'canine'),
d = c('shorthair', 'collie', '', ''),
e = c(1, 5, 3, 8))
> dat
a b c d e
1 cat feline kitten shorthair 1
2 canine puppy barker collie 5
3 feline meower kitty 3
4 dog wolf canine 8
Run Code Online (Sandbox Code Playgroud)
因此应该组合行1和3,因为b行1的ID等于a行3的ID.类似地,a行2的ID等于c行4的ID ,因此这些行也应该组合.
理想情况下,输出应该如下所示.
a.1 b.1 c.1 …Run Code Online (Sandbox Code Playgroud)