Re: [R] Problem with scoping a variable value

From: Paul Roebuck <roebuck_at_mdanderson.org>
Date: Fri 17 Feb 2006 - 08:22:07 EST

On Thu, 16 Feb 2006, Tolga Uzuner wrote:

> I have a function which has a variable called show as an input:
>
> richardson.grad <- function(func, x, d=0.01, eps=1e-4, r=6, show=F){
> # do some things
> if(show) {
>
> cat("\n","first order approximations", "\n")
> print(a.mtr, 12)
>
>
> }
> #do more things and return
> }
>
> The show variable is being used as a flag to show intermediate results.
>
> Interestingly enough, I have downloaded a package recently which defines
> the show variable as a function:
>
> > show
> standardGeneric for "show" defined from package "methods"
>
> function (object)
> standardGeneric("show")
> <environment: 01676F7C>
> Methods may be defined for arguments: object
>
> >
>
> Now, all of a sudden, the function I had defined earlier is scoping up
> to this new value, and is thus not working:
>
> > richardson.grad(function(x) x^2,2)
> Error in if (show) { : argument is not interpretable as logical
> >
>
> I could always redefine show in richardson.grad to be something else but
> something seems wrong: why is richardson.grad not looking up show's
> value in the function ? How would I fix this ?

You didn't spell out the logical value 'FALSE' which may be causing your problem. Consider this alternative also...

richardson.grad <- function(func,

                            x,
                            d = 0.01,
                            eps = 1e-4,
                            r = 6,
                            verbose = getOption("verbose")) {
    ## do some things
    if (verbose) {
         cat("\n", "first order approximations:", "\n")
         print(a.mtr, 12)

    }
    ## do more things and return
}

SIGSIG -- signature too long (core dumped)

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Feb 17 09:02:02 2006

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:42:33 EST