То, что имена сохраняются, не упоминается в основном тексте справочного файла ?CJ
, то есть в разделе Сведения или Значение. Однако, как представляется, упоминается, что имена сохраняются в качестве комментариев в разделе примеров файла справки (и, похоже, именно здесь вы получили свой пример).
Копаться в функции CJ
, которая, кажется, полностью реализована в R, рядом с концом есть блок,
if (getOption("datatable.CJ.names", FALSE))
vnames = name_dots(...)$vnames
Запуск getOption("datatable.CJ.names", FALSE)
возвращает FALSE с data.table
версия 1.12.0. Когда мы устанавливаем это в TRUE с
options("datatable.CJ.names"=TRUE)
тогда код
x = c(1,1,2)
y = c(4,6,4)
CJ(x, y)
возвращает
x y
1: 1 4
2: 1 4
3: 1 4
4: 1 4
5: 1 6
6: 1 6
7: 2 4
8: 2 4
9: 2 6
Однако вы также можете напрямую указать имена (которые не упомянуты в файле справки).
CJ(uu=x, vv=y)
, который возвращает
uu vv
1: 1 4
2: 1 4
3: 1 4
4: 1 4
5: 1 6
6: 1 6
7: 2 4
8: 2 4
9: 2 6
Обратите внимание, что это отменяет вышеуказанную опцию.