The help for model.frame says

     Only variables whose type is raw, logical, integer, real, complex
     or character can be included in a model frame: this includes
     classed variables such as factors (whose underlying type is
     integer), but excludes lists.

Some S4 objects are of one of those types, but some are not. Some matrices are, some are not. Objects of class "Surv" are.

On 23/07/2012 21:33, David L Lorenz wrote:
Hi,
   I have very carefully developed several S4 classes that describe
censored water-quality data. I have routines for them that will support
their use in data.frames and so forth. I have run into a problem when I
try to use the S4 class as the response variable in a formula and try to
extract the model frame. I get an error like:

Error in model.frame.default(as.lcens(Y) ~ X) : object is not a matrix

   In this case, as.lcens works much like the Surv function in the survival
package except that the object is an S4 class and not a matrix of class
Surv. I would have expected that the model.frame function would have been
able to manipulate any kind of object that can be subsetted and put into a
data.frame. But that appears not to be the case. I'm using R 2.14.1 if
that matters.
   I can supply the routines for the lcens data if needed.
   Am I looking at needing to write a wrapper to convert all of my S4
classes into matrices and then extract the necessary data in the matrices
according to rules for the particular kind of S4 class? Or, am I missing a
key piece on how model.frame works?
   Thanks.
Dave

        [[alternative HTML version deleted]]

The posting guide asked you not to do that.  And to do your own homework.

--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to