difftime is an S3 class, not an S4 class. To convert it, include the line
setOldClass("difftime")
and the setMethod call should work.
On 7/9/2013 6:03 AM, Dan Murphy wrote:> I am trying to write S4 methods with "difftime" in the signature
but
> am being "informed" (? not a warning or error) that
"difftime" is not
> a class. Nevertheless, dispatch takes place. Should I simply ignore
> that "information"? Here is a toy example:
>
>> setClass("foo", contains = "Date")
>> setMethod("+", c("foo", "difftime"),
function(e1, e2) callNextMethod())
> in method for ?+? with signature ?"foo","difftime"?: no
definition for
> class ?difftime?
> [1] "+"
>> x<- new("foo", as.Date("2013-06-30"))
>> dt<- as.difftime(1, units = "days")
>> x + dt
> [1] "2013-07-01"
>
> Thank you,
> Dan Murphy
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel