Re: [Rd] aesthetics of do.call

From: <deepayan.sarkar_at_gmail.com>
Date: Mon, 20 Aug 2007 22:20:33 -0700

On 8/20/07, Vincent Carey 525-2265 <stvjc_at_channing.harvard.edu> wrote:
>
>
> library(MASS)
> G1 = glm(sp~CW, data=crabs, fam=binomial)
> G2 = do.call("glm", list(sp~CW, family=binomial, data=crabs))
>
> G1$call is very nice to look at
> G2$call is very voluminous
>
> if we revise do.call to
>
> function (what, args, quote = FALSE, envir = parent.frame())
> {
> if (!is.list(args))
> stop("second argument must be a list")
> if (quote) {
> enquote <- function(x) as.call(list(as.name("quote"),
> x))
> args <- lapply(args, enquote)
> }
> ans = .Internal(do.call(what, args, envir))
> ans$call = match.call()
> ans
> }
>
> G1 and G2 look a lot more alike

But then you get things like

> do.call(c, list(1, 2, 3))
[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3

$call
do.call2(what = c, args = list(1, 2, 3))

Warning message:
In ans$call = match.call() : Coercing LHS to a list

which is probably not what you want to happen.

-Deepayan



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Tue 21 Aug 2007 - 05:25:39 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 21 Aug 2007 - 12:38:45 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.