В следующем примере может кто-нибудь объяснить мне, почему дата 2015-03-31 изменилась на 1034-04-03?Присоединение столбца столбца POSIXct к столбцу с использованием data.table в R
dt1 = data.table(id = c(1,2), date = as.POSIXct("2015-03-31 BST"), key = "id")
dt1
# id date
# 1: 1 2015-03-31
# 2: 2 2015-03-31
dt2 = data.table(id = c(1,2), date = as.Date(NA), key = "id")
dt2
# id date
# 1: 1 <NA>
# 2: 2 <NA>
dt2[dt1, date := i.date]
dt2
# id date
# 1: 1 1034-04-03
# 2: 2 1034-04-03
Моя цель состоит в том, чтобы получить date
от dt1
к dt2
в Date
формате вместо POSIXct
по id
(разные id
будет иметь различную date
). Как мне это сделать?
После чего я хочу:
dt2
# id date
# 1: 1 2015-03-31
# 2: 2 2015-03-31
EDIT:
Я пробовал следующее:
dt2[dt1, date := as.Date(i.date)]
dt2
# id date
# 1: 1 2015-03-30
# 2: 2 2015-03-30
К сожалению, это дает мне 2015- 03-30 вместо 2015-03-31 ... ??? Как получить 2015-03-31 вместо этого?
Можете ли вы записать данные образца? – user227710
Ваш код, вероятно, должен содержать хотя бы предупреждение. Пожалуйста, [укажите отчет об ошибке] (https://github.com/Rdatatable/data.table/issues). – Roland
Chengcj, @Roland, подано [# 1200] (https://github.com/Rdatatable/data.table/issues/1200). – Arun