如何忽略第3列的重复项而按2列计算行数?

时间:2019-03-28 18:38:24

标签: r data.table

我正在尝试计算data.table中的2列(行)的行数,同时还尝试忽略重复的行(第3列)

Col1    Col2    Col3    Result
a       x       y       2
a       x       y       2   <- row should be ignored from count
b       x       y       2
a       t       y       1
a       t       i       1

我尝试删除要插入的列,但我真的不知道如何链接命令。

dt[, Result:= .N, by = .(Col2, Col3)]

1 个答案:

答案 0 :(得分:0)

我们需要获取“ Col1”中元素的唯一数量。按“ Col2”和“ Col3”分组后,可以在“ Col1”上用uniqueN完成

library(data.table)
setDT(df1)[, Result := uniqueN(Col1), .(Col2, Col3)][]
#      Col1 Col2 Col3 Result
#1:    a    x    y      2
#2:    a    x    y      2
#3:    b    x    y      2
#4:    a    t    y      1
#5:    a    t    i      1