From maechler at stat.math.ethz.ch  Sat Dec 19 12:24:56 2015
From: maechler at stat.math.ethz.ch (Martin Maechler)
Date: Sat, 19 Dec 2015 12:24:56 +0100
Subject: [Rd] array() ignores illegal non-list dimnames
In-Reply-To: <CAF8bMcZxbppcD8M2Eu4c0wBiNXH11z=Xjcto=kJRpATOtK5hYw@mail.gmail.com>
References: <CAF8bMcZxbppcD8M2Eu4c0wBiNXH11z=Xjcto=kJRpATOtK5hYw@mail.gmail.com>
Message-ID: <22133.16008.518364.131622@stat.math.ethz.ch>

>>>>> William Dunlap via R-devel <r-devel at r-project.org>
>>>>>     on Thu, 17 Dec 2015 14:40:18 -0800 writes:

    > Is there a reason that array() silently ignores dimnames
    > that are not a list but matrix() gives an error?

    >> str(matrix(11:14, 2, 2, dimnames=c("Rows","Cols")))
    > Error in matrix(11:14, 2, 2, dimnames = c("Rows", "Cols")) :
    > 'dimnames' must be a list

    >> str(array(11:14, dim=c(2, 2), dimnames=c("Rows","Cols")))
    > int [1:2, 1:2] 11 12 13 14

of course there must be a historical reason why this lapsus
happens, ;-)

but it is definitely not as intended, and I'll commit a fix for
R-devel and R-patched  "immediately".

    > I noticed this in lhs:::geneticLHS, which has the line
    > J <- array(NA, dim = c(n, k, pop), dimnames = c("points",
    > "variables", "hypercubes"))
    > where the non-list dimnames has no effect, and no warning or error.

so we will see some CRAN (and may off-CRAN) packages
producing errors after the change,
but indeed, these errors will be catching programming errors !

    > Bill Dunlap
    > TIBCO Software
    > wdunlap tibco.com

Thanks a lot, Bill!
Martin



[Rd] array() ignores illegal non-list dimnames
Martin Maechler