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

Lenth, Russell V ru@@e||-|enth @end|ng |rom u|ow@@edu
Fri Jun 24 02:07:44 CEST 2022


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)

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.


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.


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.


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

	[[alternative HTML version deleted]]

More information about the R-devel mailing list