Re: [Rd] Request: kronecker to get a sep= argument

From: Ben Bolker <bbolker_at_gmail.com>
Date: Mon, 29 Nov 2010 13:59:09 +0000 (UTC)

Charles C. Berry <cberry <at> tajo.ucsd.edu> writes:

>
> On Thu, 25 Nov 2010, Charles C. Berry wrote:
>
> > On Thu, 25 Nov 2010, Michael Friendly wrote:
> >
> >> kronecker, with make.dimnames=TRUE uses a hardwired sep=":" in the line
> >>
> >> tmp <- outer(dnx[[i]], dny[[i]], FUN = "paste", sep = ":")
> >>
> >> For an application in which dimnames arise from an n-way array, where
> >> different dimensions have
> >> different roles, and I would like to be able to use kronecker in the form
> >>
> >> kronecker(A, B, make.dimnames=TRUE, sep='/')
> >>
> >> All this requires is to change the following two lines:
> >>
> >> kronecker <- function (X, Y, FUN = "*", make.dimnames = FALSE, sep=":"
> >> ...)
> >> {
> >> ...
> >> tmp <- outer(dnx[[i]], dny[[i]], FUN = "paste", sep = sep)
> >> }
> >>
> >>

[snip]

> >
> > p.s. your suggestion could break code that others may have written like

[snip]

> kronecker( letters[1:3], diag(LETTERS[1:2]), paste )

  Of course, this could be fixed (if considered appropriate)

kronecker <- function (X, Y, FUN = "*", make.dimnames = FALSE,   name_sep=":", ...)
{

   tmp <- outer(dnx[[i]], dny[[i]], FUN = "paste", sep = name_sep) }

  which could still break existing code in the unlikely event that someone used a value of FUN with a 'name_sep' argument (much less likely). Perhaps the argument could be named .sep -- that seems to be a standard convention in these cases for trying to avoid previous/user-defined argument names.   For whatever it's worth this seems like a good idea to me -- a small change that will increase flexibility with little cost.

  Ben Bolker



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Mon 29 Nov 2010 - 14:00:36 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 Mon 29 Nov 2010 - 16:10:28 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.

list of date sections of archive