我有两个data.table我想加入的(形成笛卡尔积).其中一个data.tables键入一个Date向量,另一个键入numeric向量:
# data.table with dates (as numeric)
dtDates2 = data.table(date =
as.numeric(seq(from = as.Date('2014/01/01'),
to = as.Date('2014/07/01'), by = 'weeks')),
data1 = rnorm(26))
# data.table with dates
dtDates1 = data.table(date =
seq(from = as.Date('2014/01/01'),
to = as.Date('2014/07/01'), by = 'weeks'),
data1 = rnorm(26))
# data.table with customer IDs
dtCustomers = data.table(customerID = seq(1, 100),
data2 = rnorm(100))
Run Code Online (Sandbox Code Playgroud)
我setkey尝试使用CJ以下方式交叉加入它们:
# cross join the two datatables
setkey(dtCustomers, customerID)
setkey(dtDates1, date) …Run Code Online (Sandbox Code Playgroud)