Это действительно возможно, но вы хотите использовать для этого дополнительные скобки:
c <- a %>%
.[, colB := colB * 10] %>%
{rbindlist(list(.,b), use.names = TRUE, fill = TRUE)}
Причина этого довольно очевидна из самой ошибки:
# Error in rbindlist(., list(., b), use.names = TRUE, fill = TRUE): ...
То естьваша попытка эквивалентна
rbindlist(aTransformed, list(aTransformed, b), use.names = TRUE, fill = TRUE)
, что явно не было вашим намерением и не работает, поскольку rbindlist
хочет получить список объектов для привязки в качестве первого аргумента.Теперь, если мы хотим использовать ярлык .
, но не хотим передавать данные первому аргументу, мы можем использовать дополнительные скобки {}
для создания выражения.Выражения имеют тип {x <- 2; y <- x^2; y + x}
, возвращающий y + x
, поэтому имеет смысл, что %>%
не позволяет передавать данные в качестве первого аргумента, поскольку их нет.