alle.gleich auf Objekt mit NULL-Namen, die Ursachen "Fehler: nicht kompatibel mit STRSXP' — bug oder erwartet?

In dem Beispiel unten, wenn die Namen gesetzt werden, um NULL, all.equal wirft 'Error: not compatible with STRSXP'

Allerdings sind die Namen gesetzt, um NA (oder einen anderen Wert), all.equal funktioniert ganz normal.

Ist das erwartete Verhalten, oder ist das ein bug?

## SAMPLE DATA
set.seed(1)
x <- data.frame(LETTERS[1:3], rnorm(3))
names(x) <- NULL

x
#   NA        NA
# 1  A -0.626454
# 2  B  0.183643
# 3  C -0.835629

all.equal(x, x)
# Error: not compatible with STRSXP

# add names back in, even 'NA'
names(x) <- c(NA, NA)
all.equal(x, x)
# [1] TRUE
  • Ich Wette, Sie haben dplyr geladen! Ich denke, es ist ein Fehler in der all.equal.data.frame Methode aus diesem Paket, die ausgelöst wird, statt.
  • Werden Sie sicher, dass start R-ohne zusätzliche Pakete, R --Vanille oder ähnlich; Bericht R-version. Dies ist nicht gesehen, für mich unter einem > R.version.string [1] "R Under development (unstable) (2014-01-22 r64855)" oder "R-version 3.0.2 Gepatcht (2014-01-02 r64626)"
  • Ich glaube in der Tat. Danke für den Hinweis mich in die richtige Richtung. Ersetzen all.equal mit all.equal.default gelöst.
  • BTW abstürzt R und völlig sinnlose Fehlermeldungen sind definitiv Fehler
  • Sollte nun behoben sein.
  • Bitte nicht make-up-tags wie all.equal. Ich meine, was Allgemeinen Wert wäre, dass tag haben...
  • sicher, aber ich bin neugierig, welcher Art die Nachteile sein, so würde dies haben?
  • Ich bekam diese Fehlermeldung, wenn ich versuchte dummerweise zu left_join drei Daten-frames. Ein menschlicher Fehler, aber wenig hilfreichen Fehlermeldung.

Schreibe einen Kommentar