All.equal на объекте с именами NULL вызывает ошибку "Ошибка: не совместимо с STRSXP" - ошибка или ожидаемая?
В приведенном ниже примере, когда имена установлены на NULL
, all.equal
throws 'Error: not compatible with STRSXP'
Однако, если имена установлены на NA
(или какое-то другое значение), all.equal
работает как обычно.
Является ли это ожидаемым поведением или ошибкой?
## 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
Ответы
Ответ 1
Как указывает @Joran, это похоже на dplyr
.
Подано в качестве проблемы: https://github.com/hadley/dplyr/issues/219
Временная работа (для моей потребности по крайней мере. Не работает для всех) заключается в использовании
all.equal.default(x, x)
FYI:
## STARTING FROM A FRESH SESSION:
set.seed(1)
x <- data.frame(LETTERS[1:3], rnorm(3))
names(x) <- NULL
all.equal(x, x)
# [1] TRUE
## Load in dplyr
library(dplyr)
all.equal(x, x)
# Error: not compatible with STRSXP