У меня есть два data.table X и Y.
в столбцах X: area, id, value
столбцы в Y: ID, price, sales
Создайте два data.tables:
X = data.table(area=c('US', 'UK', 'EU'),
id=c('c001', 'c002', 'c003'),
value=c(100, 200, 300)
)
Y = data.table(ID=c('c001', 'c002', 'c003'),
price=c(500, 200, 400),
sales=c(20, 30, 15)
)
И я устанавливаю ключи для X и Y:
setkey(X, id)
setkey(Y, ID)
Теперь я пытаюсь присоединиться X и Y к id
в X и id
в Y:
merge(X, Y)
merge(X, Y, by=c('id', 'ID'))
merge(X, Y, by.x='id', by.y='ID')
Все возникшие ошибки говорят о том, что имена столбцов в аргументе by
недействительны.
Я ссылался на руководство по таблице data.table и обнаружил, что функция merge
не поддерживает аргументы by.x
и by.y
.
Как я могу объединить два data.tables с именами разных столбцов без изменения имен столбцов?
Append:
Мне удалось присоединиться к двум таблицам с помощью X[Y]
, но почему функция merge
не работает в data.table?