В приведенном ниже примере, когда имена установлены в NULL
, all.equal
бросает 'Error: not compatible with STRSXP'
Однако, если имена установлены в NA
(или другое значение), all.equal
работает в нормальном режиме.
Ожидаемое поведение или ошибка?all.equal на объекте с именами NULL вызывает ошибку «Ошибка: не совместимо с STRSXP» - ошибка или ожидаемая?
## 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
Держу пари, у вас есть * * dplyr ** загружен! Я думаю, что это ошибка в методе 'all.equal.data.frame' из этого пакета, который отправляется вместо этого. – joran
Обязательно запустите R без дополнительных пакетов, R -vanilla или аналогичных; сообщите о своей версии R. Это не видно для меня в разделе '> R.version.string' [1]« R В разработке (нестабильно) (2014-01-22 r64855) »или« R версии 3.0.2 »Патч (2014-01-02 r64626) « –
@joran, я действительно. Спасибо, что указал мне в правильном направлении. Замена 'all.equal' на' all.equal.default' разрешила его. –