Re: [Rd] list of methods

2018-06-26 Thread Duncan Murdoch

On 26/06/2018 2:24 PM, Therneau, Terry M., Ph.D. via R-devel wrote:

I recently got a request to add head() and tail() methods for Surv objects, 
which is quite
reasonable, but not unlike other requests for logLik,  vcov, extractAIC, ...   
What they
all have in common is that are methods added since creation of the survival 
package, and
that I didn't know they existed.

To try and get ahead of the curve, is there a way to list names of all of the 
default
methods?   There are functions to get all the instances of a method by name, 
e.g.
methods("extractAIC") or find all the methods already implemented for a class, 
but I don't
see something give me a list of the ones that I haven't created yet.


There are a lot of default methods; most of them are probably irrelevant 
to you.  But if you want to see them, here's one way:


  basepkgs <- rownames(subset(as.data.frame(installed.packages()),
  Priority == "base"))
  for (pkg in basepkgs) {
print(ls(getNamespace(pkg), pattern = ".default$"))
  }

This only shows the ones in base packages.  If you expand to 'Priority 
== "recommended"' or something even less restrictive, you'll get more.


Duncan Murdoch

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] [EXTERNAL] Re: list of methods

2018-06-26 Thread Therneau, Terry M., Ph.D. via R-devel
In a Surv object length() returns number of survival times contained in the 
object, which 
is the logical thing to do.  The fact that a survival time needs 2 or 3 values 
to 
represent is simply a nuisance.   Thus length(unclass(x)) = amount of memory 
consumed is 
not going to map to sensible operations.

Yes, I'll have to go through the list by hand.  Some methods will only apply to 
transform 
functions (makepredictcall.pspline), others to model fits (extractAIC.survreg) 
and others 
to vectors (head.Surv).   I just need to slog through it.

Looking at Date is a good idea, but it wouldn't have revealed head  or tail.  
It did point 
out addition of c() and rep() methods.

Terry

On 06/26/2018 01:40 PM, Michael Lawrence wrote:
> While it's easy to conceive of a utility that found all generics for
> which there is no non-default method for a given class vector, it's
> not clear it would be useful, because it depends on the nature of the
> object. Surv objects are vector-like, so they need to implement the
> "vector API", which is not formally defined. You could look at the
> S4Vectors package or the date/time classes for reference. But Surv
> gets a lot less for free since length() returns twice their logical
> length, an unfortunate inconsistency.
>
> Michael
>
>
>
> On Tue, Jun 26, 2018 at 11:24 AM, Therneau, Terry M., Ph.D. via
> R-devel  wrote:
>> I recently got a request to add head() and tail() methods for Surv objects, 
>> which is quite
>> reasonable, but not unlike other requests for logLik,  vcov, extractAIC, ... 
>>   What they
>> all have in common is that are methods added since creation of the survival 
>> package, and
>> that I didn't know they existed.
>>
>> To try and get ahead of the curve, is there a way to list names of all of 
>> the default
>> methods?   There are functions to get all the instances of a method by name, 
>> e.g.
>> methods("extractAIC") or find all the methods already implemented for a 
>> class, but I don't
>> see something give me a list of the ones that I haven't created yet.
>>
>> Terry T.
>>
>>
>>  [[alternative HTML version deleted]]
>>
>> __
>> R-devel@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel


[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] list of methods

2018-06-26 Thread Michael Lawrence
While it's easy to conceive of a utility that found all generics for
which there is no non-default method for a given class vector, it's
not clear it would be useful, because it depends on the nature of the
object. Surv objects are vector-like, so they need to implement the
"vector API", which is not formally defined. You could look at the
S4Vectors package or the date/time classes for reference. But Surv
gets a lot less for free since length() returns twice their logical
length, an unfortunate inconsistency.

Michael



On Tue, Jun 26, 2018 at 11:24 AM, Therneau, Terry M., Ph.D. via
R-devel  wrote:
> I recently got a request to add head() and tail() methods for Surv objects, 
> which is quite
> reasonable, but not unlike other requests for logLik,  vcov, extractAIC, ...  
>  What they
> all have in common is that are methods added since creation of the survival 
> package, and
> that I didn't know they existed.
>
> To try and get ahead of the curve, is there a way to list names of all of the 
> default
> methods?   There are functions to get all the instances of a method by name, 
> e.g.
> methods("extractAIC") or find all the methods already implemented for a 
> class, but I don't
> see something give me a list of the ones that I haven't created yet.
>
> Terry T.
>
>
> [[alternative HTML version deleted]]
>
> __
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] list of methods

2018-06-26 Thread Therneau, Terry M., Ph.D. via R-devel
I recently got a request to add head() and tail() methods for Surv objects, 
which is quite 
reasonable, but not unlike other requests for logLik,  vcov, extractAIC, ...   
What they 
all have in common is that are methods added since creation of the survival 
package, and 
that I didn't know they existed.

To try and get ahead of the curve, is there a way to list names of all of the 
default 
methods?   There are functions to get all the instances of a method by name, 
e.g. 
methods("extractAIC") or find all the methods already implemented for a class, 
but I don't 
see something give me a list of the ones that I haven't created yet.

Terry T.


[[alternative HTML version deleted]]

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel