Berwin A Turlach wrote: > G'day Stavros, > > On Fri, 13 Feb 2009 11:11:28 -0500 > Stavros Macrakis <macra...@alum.mit.edu> wrote: > > >> On Fri, Feb 13, 2009 at 10:47 AM, Gabor Grothendieck >> <ggrothendi...@gmail.com> wrote: >> >>> See ?get and try: >>> >> Interesting. I hadn't paid attention to the 'mode' argument before. >> >> Where would it be advisable to use anything but mode='any' or >> mode='function'? >> > > I guess the answer to this question is more often than not in the source. :) > On my machine: > > ber...@berwin-nus1:/opt/src/R-devel-src/src/library$ find . -name "*.R" -type > f | xargs grep "get(" \ > >> | grep mode | grep -v function | grep -v all >>
hmm, looks like you can do it with just one call to grep: grep -R -P --include=*.R 'get\(.*mode\s*=\s*"(?!function|any)' . # ./src/library/utils/R/Sweave.R: syntax <- get(syntax, mode="list") # ./src/library/utils/R/Sweave.R: syntax <- get(sname, mode = "list") # ./src/library/utils/R/Sweave.R: s <- get(sname, mode="list") # ./src/library/tools/R/QC.R: al <- get(al, envir = code_env, mode = "list") # ./src/library/tools/R/QC.R: al <- get(al, envir = ns_env, mode = "list") # ./src/library/tools/R/QC.R: al <- get(al, envir = data_env, mode = "list") (you'll need grep compiled with --enable-perl-regexpr for this) note this fancy comment in ?get: " 'mode' here is a mixture of the meanings of 'typeof' and 'mode'" vQ > ./tools/R/QC.R: al <- get(al, envir = code_env, mode = "list") > ./tools/R/QC.R: al <- get(al, envir = ns_env, mode = "list") > ./tools/R/QC.R: al <- get(al, envir = data_env, mode = "list") > ./utils/R/Sweave.R: syntax <- get(syntax, mode="list") > ./utils/R/Sweave.R: syntax <- get(sname, mode = "list") > ./utils/R/Sweave.R: s <- get(sname, mode="list") > ./utils/R/str.R: str(get(nam, envir = E, mode = M), > ./stats/R/model.tables.R: tables[[i]] <- tapply(data, > model[model.cols[[i]]], get(fun)) > ./stats/R/models.R: ## get(contr.funs[1 + > isOF[nn]])(nlevels(data[[nn]])) > ./base/R/get.R: .Internal(get(x, envir, mode, inherits)) > ./base/R/get.R: .Internal(mget(x, envir, mode, ifnotfound, inherits)) > ./base/R/match.fun.R: FUN <- get(as.character(FUN), mode = > "any", envir = envir) > > > The first few hits seem to indicate examples where it is necessary > to look specifically for a list. > > Cheers, > > Berwin > > ______________________________________________ > R-help@r-project.org mailing list > 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. ______________________________________________ R-help@r-project.org mailing list 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.