Skip to content

all.equal could have option to sub-aggregate before comparison #7890

Description

@jangorecki

It is very common operation to compare data which could have been sub-aggregated to different levels of granularity. When we align their level of granularity, then data happens to be equal. We could provide easy way to do that without user having to manually sub-aggregate each data each time.

Expected behavior:

d1 = data.table(a = 1:2, b=c(1,2))
d2 = data.table(a = c(1:2,2L), b=c(1,1,1))
d1
#       a     b
#   <int> <num>
#1:     1     1
#2:     2     2
d2
#       a     b
#   <int> <num>
#1:     1     1
#2:     2     1
#3:     2     1
all.equal(d1, d2, by = "a") # default: fun.aggregate=sum
# [1] TRUE

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions