> require(data.table)
> have <- data.table(ID = c(1,1,1,2,2)
+ , colA = c("A","B","A","A","A")
+ , colB = c("C","A","B","B","C"))
> have
ID colA colB
1: 1 A C
2: 1 B A
3: 1 A B
4: 2 A B
5: 2 A C
> want <- data.table(ID = c(1,2), UnN = c(3,3))
> want
ID UnN
1: 1 3
2: 2 3
У меня есть дата «есть», и я хотел бы посчитать уникальные значения по группе «ID» в нескольких столбцах «colA» и «colB». Как этого добиться?
Не уверен, почему следующее не сработает:
have[, UnN = uniqueN(c("colA","colB")), by = C("ID")]