S4有效性检查弹出奇怪的错误。似乎S4试图在非S4对象上调用有效性检查:
setClass("test", slots=c(x="ANY"))
validObject(new("test", x=structure(TRUE, class=c("a"))), complete=TRUE)
# Error in .classEnv(classDef) :
# trying to get slot "package" from an object of a basic class ("NULL") with no slots
比较:
validObject(new("test", x=TRUE), complete=TRUE)
# [1] TRUE
奇怪的是我以前不认为我以前会遇到这个错误,虽然我不确定是什么改变了。这是在R 3.1.2上运行的,我几乎可以肯定它以前在同一个R版本上运行。