我有一个data.table,它看起来像这样:
Category Sub-Category Status
A 1 Draft
A 2 Draft
A 3 Draft
A 4 Draft
A 5 Draft
A 6 Draft
B 1 Final
B 2 Draft
B 3 Final
B 4 Final
C 1 Final
C 2 Final
C 3 Final
C 4 Final
C 5 Final
我想按类别聚合这些数据,以便:
最终输出将如下所示:
Category Status
A Draft
B Hybrid
C Final
我知道如果我申请的功能是总和,我可以这样做:
df <- aggregate(Status ~ Category, data = df, sum)
对我来说问题是这需要某种自定义功能
答案 0 :(得分:3)
在这里,试试这个..
customFunc <- function(x){
if (length(unique(as.character(x))) == 2){
return('Hybrid')
}
else {
return(unique(as.character(x)))
}
}
df <- aggregate(Status ~ Category, data = df, customFunc)