Assign a group to each row of a data.table. If by
is
specified, then each unique combination of the columns in by
will
be assigned a unique group. If by
is not specified, then all rows
will be assigned to the same group.
Arguments
- obs
A
data.table
ordata.frame
without a.group
column.- by
A character vector of column names to group by. Defaults to an empty vector.
- copy
A logical; make a copy (default) of
obs
or modify it in place?
See also
Preprocessing functions
enw_add_delay()
,
enw_add_max_reported()
,
enw_add_metaobs_features()
,
enw_complete_dates()
,
enw_construct_data()
,
enw_extend_date()
,
enw_filter_delay()
,
enw_filter_reference_dates()
,
enw_filter_report_dates()
,
enw_flag_observed_observations()
,
enw_impute_na_observations()
,
enw_latest_data()
,
enw_metadata_delay()
,
enw_metadata()
,
enw_missing_reference()
,
enw_preprocess_data()
,
enw_reporting_triangle_to_long()
,
enw_reporting_triangle()
Examples
obs <- data.frame(x = 1:3, y = 1:3)
enw_assign_group(obs)
#> Key: <.group>
#> x y .group
#> <int> <int> <num>
#> 1: 1 1 1
#> 2: 2 2 1
#> 3: 3 3 1
enw_assign_group(obs, by = "x")
#> Key: <.group>
#> x y .group
#> <int> <int> <int>
#> 1: 1 1 1
#> 2: 2 2 2
#> 3: 3 3 3