Trong ví dụ sau, ai đó có thể giải thích cho tôi tại sao ngày 2015-03-31 thay đổi thành 1034-04-03 không?Tham gia cột POSIXct vào cột Ngày bằng cách sử dụng data.table trong 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
Mục tiêu của tôi là để có được date
từ dt1
để dt2
ở định dạng Date
thay vì POSIXct
bởi id
(khác id
sẽ phải khác nhau date
). Tôi sẽ làm như thế nào?
Sau đây là những gì tôi muốn:
dt2
# id date
# 1: 1 2015-03-31
# 2: 2 2015-03-31
EDIT:
Tôi đã thử những điều sau đây:
dt2[dt1, date := as.Date(i.date)]
dt2
# id date
# 1: 1 2015-03-30
# 2: 2 2015-03-30
Thật không may, nó được đem lại cho tôi 2015- 03-30 thay vì 2015-03-31 ... ??? Làm thế nào để có được 2015-03-31 thay vào đó?
Bạn có thể trích xuất dữ liệu mẫu không? – user227710
Mã của bạn có lẽ nên đưa ra ít nhất một cảnh báo. Vui lòng [gửi báo cáo lỗi] (https://github.com/Rdatatable/data.table/issues). – Roland
Chengcj, @Roland, đã gửi [# 1200] (https://github.com/Rdatatable/data.table/issues/1200). – Arun