S4 패키지 정의에서 인식되는 이전 패키지의 클래스를 가져 오는 데 문제가 있습니다. 나는 오류S4 클래스 정의의 패키지에서 S3 (?) 클래스를 인식합니다.
Error in makePrototypeFromClassDef(properties, ClassDef, immediate, where) :
in making the prototype for class "Tsvmm" elements of the prototype failed to
match the corresponding slot class: dates (class "dates")
In addition: Warning message:
undefined slot classes in definition of "Tsvmm": dates(class "dates")
을 재현 예를 받고 계속 :
require(chron)
setClass(
Class="Tsvmm",
representation=representation(
data = "data.frame",
dates = "dates"
),
prototype=prototype(
data = data.frame(),
dates = chron(0)
)
)
class(chron(0))
을 시도하고, 대답은 "dates" "times"
입니다. is.numeric(chron(0))
을 사용하면 대답은 TRUE
입니다. 그러나 슬롯 날짜 클래스를 "numeric"
으로 설정하면 경고 메시지없이 같은 오류가 발생합니다.
나는 분명히 뭔가를 간과하고 있다는 느낌이 들지만, 아직 문서에서 찾을 수 없습니다. 누구 포인터?
추신 : 나는 chron
패키지가 적어도 특이하다고 알고 있지만, 이것을 사용하는 좋은 이유가 있습니다. 또한이 문제는 다른 패키지에서도 발생할 수 있습니다. 이것을 일반적인 질문의 예로서 보아라. 제발, 나 Date 또는 POSIXt 클래스를 사용하지 말아주세요. 그건 내가 지금 사용하고있는 해킹입니다.
wowThatFunctionNameIsLong() –