I have following r code which uses dplyr. Due to large data size, we want to use data.table.
test <- function(Act, mac, type, thisYear){
    Act %>%
    mutate_(var = type) %>%
    filter(var == mac) %>%
    filter(floor_date(as.Date(submit_ts), 'year') == thisYear)
}
Act is as follows
| submit_ts     | col1          | col2  |
| ------------- |---------------|-------|
| '2015-01-01'  | 'x'           | 1000  |
| '2015-01-01'  | 'y'           |  200  |
| '2015-01-01'  | 'x'           |  200  |
basically function can works as follows
test(act, 'x', 'col1', 2015)
result is as follows 
| submit_ts     | col1          | col2  |
| ------------- |---------------|-------|
| '2015-01-01'  | 'x'           | 1000  |
| '2015-01-01'  | 'x'           |  200  |
test(act, 200, 'col2', 2015)
result is as follows 
| submit_ts     | col1          | col2  |
| ------------- |---------------|-------|
| '2015-01-01'  | 'y'           |  200  |
| '2015-01-01'  | 'x'           |  200  |
How should I do it using data.table ?
 
     
    