[R] names.data.frame?

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Wed Nov 3 20:42:06 CET 2021


On 03/11/2021 2:54 p.m., Andrew Simmons wrote:
> First, your signature for names.pm is wrong. It should look something more
> like:
> 
> 
> names.pm <- function (x)
> {
> }
> 
> 
> As for the body of the function, you might do something like:
> 
> 
> names.pm <- function (x)
> {
>      NextMethod()
> }
> 
> 
> but you don't need to define a names method if you're just going to call
> the next method. I would suggest not defining a names method at all.
> 
> 
> As a side note, I would suggest making your class through the methods
> package, with methods::setClass("pm", ...)
> See the documentation for setClass for more details, it's the recommended
> way to define classes in R.

That's incorrect.  It is *a* recommended way to define classes in R, but 
there are other recommended ways as well, for doing other kinds of 
things, and many people stick with the S3 system without formal classes 
at all.

If you're writing a Bioconductor package you should probably use the 
formal methods.  If you're writing code for other purposes, you should 
think about whether you need formal classes at all, and if so, whether 
the methods package formalism is a match for what you're doing.

Duncan Murdoch



More information about the R-help mailing list