LeG*_*sII 2 r unique count data.table
> 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
Run Code Online (Sandbox Code Playgroud)
我有一个数据表“ have”,我想按多个列“ colA”和“ colB”中的组“ ID”对唯一值进行计数。如何实现呢?
不知道为什么以下内容不起作用:
have[, UnN = uniqueN(c("colA","colB")), by = C("ID")]
Run Code Online (Sandbox Code Playgroud)
删除列名周围的引号,以便在将列传递给uniqueN函数之前可以将它们作为向量进行评估,否则将它们作为文字字符向量进行评估:
have[, .(UnN = uniqueN(c(colA, colB))), ID]
# ID UnN
#1: 1 3
#2: 2 3
Run Code Online (Sandbox Code Playgroud)