Tôi nhận được kết quả không mong muốn từ phương thức all.equal trong R, cụ thể là việc triển khai cho POSIXct, all.equal.POSIXct.Đầu ra không mong đợi từ all.equal.POSIXct
t <- Sys.time()
isTRUE(all.equal(t, t+1))
trả về TRUE, và
isTRUE(all.equal(t, t+1, scale = 1))
trả về FALSE.
Tuy nhiên, nếu bạn nhìn vào định nghĩa của all.equal.POSIXct, bạn có thể thấy rằng các thông số quy mô có mặc định là 1:
> all.equal.POSIXct
function (target, current, ..., scale = 1)
{
check_tzones(target, current)
NextMethod("all.equal")
}
<bytecode: 0x22eac90>
<environment: namespace:base>
Bạn nhận được kết quả tương tự nếu bạn gọi một cách rõ ràng tất cả. bằng.POSIXct thay vì all.equal.
Tại sao thang điểm thông số mặc định = 1 không được chọn trong cuộc gọi đầu tiên tới all.equal.POSIXct? Tôi đang làm điều gì đó sai, hoặc có cơ bản tôi hiểu lầm một cái gì đó, hoặc là một lỗi này?
Cảm ơn trước vì đã được trợ giúp.
Đây là một câu hỏi hay. Cả hai câu trả lời dưới đây cho thấy đây có thể là lỗi, vì vậy tôi đã gửi báo cáo lỗi tại https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14969 – Andrie
Thật tuyệt, cảm ơn bạn đã gửi báo cáo lỗi! Tôi vừa định làm như vậy! – Ash