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)
> }
>
>
> Otherwise, I have to reproduce the logic inside kronecker() in my
application
> function.
Or add one line of code:
res <- kronecker(m1,m3,make.dimnames=T)
dimnames(res) <-
lapply( dimnames(res), sub, pattern=":", replacement="/" )
HTH,
Chuck
p.s. your suggestion could break code that others may have written like
kronecker( letters[1:3], diag(LETTERS[1:2]), paste, sep='*' )
>
> -Michael
>
> --
> Michael Friendly Email: friendly AT yorku DOT ca
> Professor, Psychology Dept.
> York University Voice: 416 736-5115 x66249 Fax: 416 736-5814
> 4700 Keele Street Web: http://www.datavis.ca
> Toronto, ONT M3J 1P3 CANADA
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
Charles C. Berry Dept of Family/Preventive Medicine
cberry at tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901