Document as.IDate() behaviour with fractional dates

Đang mở Phù hợp với người mới
#7,952 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
1/5
Thời gian dự kiến
Dưới một giờ
Mức phù hợp với người mới
78/100
Loại issue
Tài liệu
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
r
Lĩnh vực
documentation

Hướng nghiên cứu

Hành vi này đến từ as.IDate() khi đầu vào là Date, và nó đi qua as.integer() nên làm tròn về phía epoch; các ví dụ trong báo cáo cho thấy sự khác biệt so với việc cắt xuống trước. Hãy tìm tài liệu của as.IDate (tệp Rd hoặc khối roxygen) và thêm một ghi chú ngắn rằng các giá trị Date có phần thập phân bị cắt về không, kèm ví dụ từ issue. Hoàn thành khi trang trợ giúp nêu rõ cách làm tròn và các ví dụ vẫn chạy được.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

as.IDate() calls as.integer() on Date input which means fractional dates are rounded towards the unix epoch. This leads to the following behaviour.

(origin <- .Date(0))
#> [1] "1970-01-01"
(dates <- c(origin - 0.2, origin + 0.2))
#> [1] "1969-12-31" "1970-01-01"
data.table::as.IDate(dates)
#> [1] "1970-01-01" "1970-01-01"

# I believe this is being done internally with the 'Date' method
as.integer(dates)
#> [1] 0 0

# Alternative is to floor first
as.integer(floor(unclass(dates)))
#> [1] -1  0

To me flooring is the more 'expected' result so (assuming it is not something you wish to change) is it worth pointing this behaviour out explicitly in the documentation. Apologies if I've missed this but couldn't see it mentioned.

Ngôn ngữ chính
R
Star
3.9k
Fork
1.1k
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
14

Chuẩn bị môi trường

Mở trong Codespaces

Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của Rdatatable/data.table

Tất cả issue của Rdatatable/data.table

Issue tương tự

Thêm issue về R

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.