Hmmm... 'assign.to.base( "+.POSIXt", myfun)' works on my system (2.9.1 patched
on Windows, at time of writing). Could be the 'mvbutils' version, I guess. What
happened when you tried it? And what if you did 'getAnywhere( "+.POSIXt")'
afterwards?
I was wrong about where '+.POSIXt' lives, though-- sorry. It is directly in
'baseenv()', not in 'baseenv().__S3MethodsTable__.'. 'assign.to.base' looks in
both, and in other packages as well as 'baseenv()'.
Mark
--
Mark Bravington
CSIRO Mathematical & Information Sciences
Marine Laboratory
Castray Esplanade
Hobart 7001
TAS
ph (+61) 3 6232 5118
fax (+61) 3 6232 5012
mob (+61) 438 315 623
Hadley Wickham wrote:
>> In this particular case, the trick is to assign the new version both
>> into the namespace and into the environment '.__S3MethodsTable__.'
>> inside the namespace.
>
> The problem is +.POSIXt doesn't seem to be there:
>
>> exists("+.POSIXt", asNamespace("base")$.__S3MethodsTable__.,
>> inherits=F)
> [1] FALSE
>
>
>> Speaking as a monkey, I do this kind of thing regularly, and there
>> is a function 'assign.to.base' in the 'mvbutils' package that does
>> it automatically, e.g.
>>
>> assign.to.base( '+.POSIXt', my.plus.POSIXt)
>
> I tried that too, but without any luck.
>
> Hadley
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel