[Rd] [Q] Get formal arguments of my implemented S4 method
Michael Lawrence
lawrence.michael at gene.com
Wed Jan 28 18:28:22 CET 2015
Would you please clarify your exact use case?
Thanks,
Michael
On Wed, Jan 28, 2015 at 9:02 AM, Roebuck,Paul L <PLRoebuck at mdanderson.org>
wrote:
> Interrogating some (of my own) code in another package.
>
> >norm.meth <- getMethod("normalize", "MatrixLike")
> >message("str(norm.meth)")
> >str(norm.meth)
>
> >message("show(norm.meth at .Data)")
> >show(norm.meth at .Data)
>
>
> Last show() displays this:
>
> function (object, ...)
> {
> .local <- function (object, method = c("median", "vs", "tukey"),
> calc.medians = TRUE, sweep.cols = calc.medians,
> recalc.after.sweep = sweep.cols, ...)
> {
> .do_normalize(object,
> method = match.arg(method),
> calc.medians = calc.medians,
> sweep.cols = sweep.cols,
> recalc.after.sweep = recalc.after.sweep,
> ...)
> }
> .local(object, ...)
> }
>
>
> Desire to be able to access formals() for the .local() function definition,
> not the generic one. Have seen information desired available via "defined"
> slot of returned 'MethodDefinition' object, but not using the code below.
>
>
>
> ====================
>
> library(methods)
>
> if (!isGeneric("normalize")) {
> ## Other packages also define this generic...
> setGeneric("normalize",
> function(object, ...) standardGeneric("normalize"))
> }
>
> setClassUnion("MatrixLike", c("matrix", "data.frame"))
>
> .do_normalize <- function(concs,
> method,
> calc.medians,
> sweep.cols,
> recalc.after.sweep,
> ...) {
> message("internal routine called!")
> NULL
> }
>
> setMethod("normalize", signature(object="MatrixLike"),
> function(object,
> method=c("median", "vs", "tukey"),
> calc.medians=TRUE,
> sweep.cols=calc.medians,
> recalc.after.sweep=sweep.cols,
> ...) {
>
> .do_normalize <- function(object,
> method=match.arg(method),
> calc.medians=calc.medians,
> sweep.cols=sweep.cols,
> recalc.after.sweep=recalc.after.sweep,
> ...)
> }
>
> ______________________________________________
> R-devel at 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