There's nothing bad happening, and we should remove the setIs() example
from the setClass() documentation.
If you run example(setIs), you will see a slightly different version of
the same call to setIs(), but one that does not generate the warning
(because it includes the argument replace= to setIs()). Comparing the
two calls and looking at the documentation for setIs should explain
where the warning comes from. But in any case, nothing to worry about.
John Chambers.
Sebastian Luque wrote:> Hello,
>
> Below is what I got running the examples from `setClass'. Could
somebody
> please help explain why the last `setIs' call is returning the warning
and
> whether this is expected?
>
>
> R> setClass("track",
> + representation(x="numeric",
y="numeric"))
> [1] "track"
> R> setClass("trackCurve",
> + representation("track", smooth =
"numeric"))
> [1] "trackCurve"
> R> setClass("trackMultiCurve",
> + representation(x="numeric", y="matrix",
smooth="matrix"),
> + prototype = list(x=numeric(), y=matrix(0,0,0),
> + smooth= matrix(0,0,0)))
> [1] "trackMultiCurve"
> R> try(setIs("trackMultiCurve", "trackCurve",
> + test = function(obj) {ncol(slot(obj, "y")) == 1}))
> Warning message:
> there is no automatic definition for as(object, "trackCurve")
<- value when object has class "trackMultiCurve" and no
'replace' argument was supplied; replacement will be an error in:
makeExtends(class1, class2, coerce, test, replace, by, classDef1 = classDef,
> R> setIs("trackMultiCurve", "trackCurve",
> + test = function(obj) {ncol(slot(obj, "y")) == 1},
> + coerce = function(obj) {
> + new("trackCurve",
> + x = slot(obj, "x"),
> + y = as.numeric(slot(obj,"y")),
> + smooth = as.numeric(slot(obj, "smooth")))
> + })
> Warning message:
> there is no automatic definition for as(object, "trackCurve")
<- value when object has class "trackMultiCurve" and no
'replace' argument was supplied; replacement will be an error in:
makeExtends(class1, class2, coerce, test, replace, by, classDef1 = classDef,
> R> version
> _
> platform i486-pc-linux-gnu
> arch i486
> os linux-gnu
> system i486, linux-gnu
> status
> major 2
> minor 2.0
> year 2005
> month 10
> day 06
> svn rev 35749
> language R
>
>
> Thanks in advance,
>