Ich bekomme unerwartete Ausgabe von der all.equal-Methode in R, speziell die Implementierung für POSIXct, all.equal.POSIXct.Unerwartete Ausgabe von all.equal.POSIXct
t <- Sys.time()
isTRUE(all.equal(t, t+1))
TRUE zurück, und
isTRUE(all.equal(t, t+1, scale = 1))
FALSCH zurückgibt.
Wenn Sie jedoch bei der Definition von all.equal.POSIXct anschaut, kann man sehen, dass der Skalenparameter einen Standard von 1:
> all.equal.POSIXct
function (target, current, ..., scale = 1)
{
check_tzones(target, current)
NextMethod("all.equal")
}
<bytecode: 0x22eac90>
<environment: namespace:base>
Sie die gleichen Ergebnisse erhalten, wenn Sie ausdrücklich alle nennen. equal.POSIXct anstelle von all.equal.
Warum wird nicht der Standardparameter scale = 1 beim ersten Aufruf von all.equal.POSIXct ausgewählt? Mache ich etwas falsch oder habe ich etwas grundlegend falsch verstanden, oder ist das ein Fehler?
Vielen Dank im Voraus für jede Hilfe.
Das ist eine gute Frage. Beide Antworten deuten darauf hin, dass es sich um einen Fehler handeln könnte. Daher habe ich unter https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=14969 einen Fehlerbericht eingereicht. – Andrie
Cool, vielen Dank für das Einreichen des Fehlerberichts! Ich war gerade dabei dasselbe zu tun! – Ash