R计算唯一ID对包含不同因子的列的出现次数

时间:2017-09-19 07:15:22

标签: r

我有一个看似简单的问题需要解决,但是,我似乎无法找到一个快速,简单有效的解决方案。我正在处理的df看起来像这样:

ID   type
11   payment
11   contact
11   endorse
12   payment
12   contact
13   endorse

我想用我的代码实现的是每个唯一ID,它对应的类型和它们是什么。所以,它看起来像是:

ID   n_type    what_types
11   3         payment, contact, endorse
12   2         payment, contact
13   1         endorse

有人可以帮助我解决这个问题吗?

非常感谢你。

1 个答案:

答案 0 :(得分:1)

简明快捷的选项是data.table

library(data.table)
setDT(df)[,.(n_type = .N, what_types = .(type)), "ID"]
#   ID n_type              what_types
#1: 11      3 payment,contact,endorse
#2: 12      2         payment,contact
#3: 13      1                 endorse