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. On Wed, Nov 3, 2021 at 2:36 PM Leonard Mada via R-help <r-help@r-project.org> wrote: > Dear List members, > > > Is there a way to access the default names() function? > > > I tried the following: > > # Multi-variable polynomial > > p = data.frame(x=1:3, coeff=1) > > class(p) = c("pm", class(p)); > > > names.pm = function(p) { > # .Primitive("names")(p) # does NOT function > # .Internal("names")(p) # does NOT function > # nms = names.default(p) # does NOT exist > # nms = names.data.frame(p) # does NOT exist > # nms = names(p); # obvious infinite recursion; > nms = names(unclass(p)); > } > > > Alternatively: > > Would it be better to use dimnames.pm instead of names.pm? > > I am not fully aware of the advantages and disadvantages of dimnames vs > names. > > > Sincerely, > > > Leonard > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.