You could try to follow the code in the dyn package.  It intercepts
model.frame calls involving time series objects so that it can align
lagged objects:

e.g.
z <- ts(seq(10)^2)
library(dyn)
dyn$lm(z ~ lag(z, -1))

It transforms the last line above to:

dyn(lm(dyn(z ~ lag(z, -1)))

and the inner dyn then produces a formula with class c("dyn", "model.frame")
so that model.frame.dyn can intercept the call while the outer dyn adds
"dyn" to the class of the result so that anova.dyn, predict.dyn, etc. can be
used to intercept the result.

Thus for any lm-like function you just preface it with dyn$ as shown and
you get automatically alignment of time series or in your case you would
interception of the mChoice variables.

On 4/24/07, Frank E Harrell Jr <[EMAIL PROTECTED]> wrote:
> In the Hmisc package there is a new data class 'mChoice' for multiple
> choice variables.  There are format and as.numeric methods (the latter
> creates a matrix of dummy variables).  mChoice variables are not allowed
> by model.frame.  Is there a way to specify a conversion function that
> model.frame will use automatically?  I would use as.factor here.
> model.frame does not seem to use as.data.frame.foo for individual variables.
>
> Thanks
> Frank
> --
> Frank E Harrell Jr   Professor and Chair           School of Medicine
>                      Department of Biostatistics   Vanderbilt University
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to