Как извлечь выгоду из `.BY` в data.table?

Это объяснение в руководстве .BY

.BY - это список, содержащий вектор длины 1 для каждого элемента в by. Это может быть полезно, когда by не известно заранее. Переменные by также доступны для j непосредственно по имени; полезно, например, для заголовков графиков, если j является командой построения графика или ветки с if() в зависимости от значения групповой переменной.

В нем говорится "полезно, например, для заголовков графиков, если j является командой построения графика или ветки с if() в зависимости от значения групповой переменной".

Но все же, я не уверен, когда использовать. Как извлечь выгоду из этого .BY?

Не могли бы вы привести один пример? Большое спасибо!

Ответ 1

Вот простой пример. Мы используем переменную .BY, чтобы показать, к какой группе принадлежит сюжет. Обратите внимание, что вы также можете сделать это, не используя .BY, заменив его на gear[1], что будет эквивалентно.

library(data.table)
mtcars_dt = data.table(mtcars)
mtcars_dt[,
  plot(wt, mpg, main = paste('Gears: ', .BY)),
  gear
]