[Rd] [External] Re: svd() results should have a class

Robert Harlow rh@r|ow86 @end|ng |rom gm@||@com
Fri Jun 24 02:25:39 CEST 2022


Sorry, Russ - did not interpret your note correctly!



On Thu, Jun 23, 2022 at 8:18 PM Gabriel Becker <gabembecker using gmail.com>
wrote:

> This does make sense to me, though I admit to not feeling super strongly
> about it. Particularly in the light of the precedent from qr().
>
> It would also be "mostly" backwards compatible, as there would not be
> methods for the new class for existing code to get hung up on out of the
> gate. Particularly, if class(svd(...)) was c("svd", "list") to ensure
> existing methods were always hit. I don't have a great sense of the
> difference in end behavior between doing that and just having the class e
> "svd", though.
>
> Should we add this as a very late addition to the Bug BBQ list for further
> discussion?
>
> ~G
>
> On Thu, Jun 23, 2022 at 5:08 PM Lenth, Russell V <russell-lenth using uiowa.edu>
> wrote:
>
>> Bob,
>>
>> I'm not talking about using svd as a generic method. I am talking about a
>> method FOR svd results, e.g. an S3 method like foo.svd(), for which there
>> already exist other methods, say foo.default and foo.qr. Currently if I
>> wanted to do
>>
>>     svdobj <- svd(x)
>>     foo(svdobj)
>>
>> it would not dispatch correctly because there is no svd class. Instead,
>> it would be handled by foo.list if it exists, and it is certainly not clear
>> that foo.list would do the right thing.
>>
>> Russ
>>
>> Sent from my iPad
>>
>> On Jun 23, 2022, at 6:53 PM, Robert Harlow <rharlow86 using gmail.com> wrote:
>>
>> 
>> Don't have a view on whether it makes sense in base R or not, but WRE
>> section 7.1 may be helpful to you:
>> https://cran.r-project.org/doc/manuals/R-exts.html#Adding-new-generics.
>>
>> It's not uncommon for packages to want to make base methods generic and
>> the above link provides advice on how to do so.
>>
>> Bob
>>
>> On Thu, Jun 23, 2022 at 12:07 PM Lenth, Russell V <
>> russell-lenth using uiowa.edu<mailto:russell-lenth using uiowa.edu>> wrote:
>> Dear R-Devel,
>>
>> I noticed that if we run base::svd(x), we obtain an object of class
>> "list". Shouldn't there be an "svd" class, in case someone (e.g., me) wants
>> to write methods for singular value decompositions? Note that other
>> matrix-decomposition routines like qr() and eigen() each return objects
>> having those names.
>>
>> Thanks
>>
>> Russ Lenth
>> Russell-lenth using uiowa.edu<mailto:Russell-lenth using uiowa.edu>
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-devel using r-project.org<mailto:R-devel using r-project.org> mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>

	[[alternative HTML version deleted]]



More information about the R-devel mailing list