Эквивалент выбора i. * - PullRequest
       19

Эквивалент выбора i. *

0 голосов
/ 04 июля 2019

Я хочу привести в порядок некоторые из моих кодов data.table, которые я преобразовал из SQL.

таблица х

x <- data.table(a = 1
                ,b = 2); x
#    a b
# 1: 1 2

таблица y

y <- data.table(a = 1
                ,c = 3); y
#    a c
# 1: 1 3

по умолчанию следующее объединение возвращает ВСЕ столбцы

x[y, on=.(a)]
#    a b c
# 1: 1 2 3

где столбец a принимает значение таблицы i, но имя из заданного формата x x[i].

Мой вопрос заключается в том, можно ли выбрать только ВСЕ столбцы из таблицы i. Это будет select i.* from... в SQL. Это неоценимо для меня, так как в действительности мои таблицы i и x содержат достаточное количество столбцов, и я хотел бы вложить их прямо в предложение объединения data.table без перечисления всех столбцов таблицы i в .() или выбора столбцов в отдельной строке.

Спасибо.

1 Ответ

1 голос
/ 04 июля 2019

Не уверен ни в приложении, ни в вычислительной эффективности этого решения, но его можно сделать кратко:

x[y, on = .(a)][, .SD, .SDcols = names(y)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...