[R] setAs between a new S4 class and "POSIXlt"
Christoph Buser
buser at stat.math.ethz.ch
Tue Mar 22 13:57:13 CET 2005
Dear R gurus
I've a question concerning the transformation of a new S4 class
(that I defined) and the existing class "POSIXlt". I did the
following:
## Definition of the new class:
setClass("dtime",
representation(data = "POSIXlt"),
prototype(data = as.POSIXlt("2004/06/01")))
## Transformation between the new class "dtime" and "POSIXlt":
setAs("dtime", "POSIXlt", def = function(from) {
from at data
})
setAs("POSIXlt", "dtime", def = function(from) {
new("dtime", data = from)
})
## Create a new "dtime" object:
(x1 <- new("dtime"))
str(x1)
## Transformation to "POSIXlt" class works well:
(y1 <- as(x1, "POSIXlt"))
str(y1)
## Transformation to "dtime" class fails
as(y2, "dtime")
> Fehler in insertMethod(methods, sig, args, def, TRUE) :
inserting method into non-methods-list object (class "NULL")
## This works properly
new("dtime", data = y2)
####################################################################
## Now I put another setAs for the Subclass "POSIXt"
setAs("POSIXt", "dtime", def = function(from) {
new("dtime", data = from)
})
## and the transformation to "dtime" class works:
as(y2, "dtime")
I tried to understand what happend, without success. Could
someone give me a hint or a reference (some help page or others)
to improve my understanding, please?
Thank you very much.
I work with:
platform i686-pc-linux-gnu
arch i686
os linux-gnu
system i686, linux-gnu
status Under development (unstable)
major 2
minor 1.0
year 2005
month 03
day 22
language R
Regards,
Christoph Buser
--------------------------------------------------------------
Christoph Buser <buser at stat.math.ethz.ch>
Seminar fuer Statistik, LEO C11
ETH (Federal Inst. Technology) 8092 Zurich SWITZERLAND
phone: x-41-1-632-5414 fax: 632-1228
http://stat.ethz.ch/~buser/
More information about the R-help
mailing list