Skip to content
Prev 19389 / 63424 Next

match gets confused by S4 objects


        
Seth> On 7 Feb 2006, maechler at stat.math.ethz.ch wrote:
>> The solution has been agreed to be changing the internal
    >> representation of S4 objects making them a new SEXP (basic R
    >> "type"); and as Brian alludes to, the problem is that those in
    >> R-core that want to and are able to do this didn't have the time
    >> for that till now.

    Seth> The explanations from you are Brian are helpful, thanks.  I was aware
    Seth> that the issue is the internal representation of S4 objects and was
    Seth> hoping there might be a cheap work around until a new SEXP comes
    Seth> around.

    Seth> It seems that S4 instances are less trivial to detect than one might
    Seth> expect before actually trying it.  

    Seth> I suppose one work around is to have an S4Basic class that defines
    Seth> methods for match(), c(), etc and raises an error.  Then extending
    Seth> this class gives you some protection.

well; not so easy for c() !! {see the hoops we had to jump through to do
this for cbind() / rbind() (used in 'Matrix')}.

But it might be interesting; particularly since some have said
they'd expect a considerable performance penalty when all these basic
functions would become S4 generics...

Martin