[Rd] Subsetted 1-D arrays (PR#4110)

Prof Brian Ripley ripley at stats.ox.ac.uk
Wed Oct 22 08:54:48 MEST 2003


On Tue, 21 Oct 2003, David Brahm wrote:

> In R-patched_2003-10-20, subsetted 1-D arrays no longer get converted to
> vectors.  The NEWS file documents this change, as an indirect result of bug
> report 4110.  I just wanted to mention this can break code in some rather
> obscure ways, such as this toy example:
> 
>   R> x <- sort(tapply(1:8, rep(1:4,2), sum))  # Was vector, now is 1D array
>   R> y <- matrix(1:4, 1,4)                    # 1x4 matrix
>   R> x + y                                    # Used to return a 1x4 matrix
>      Error in x + y : non-conformable arrays
> 
> I agree with the change, but I would beware that some puzzled users may not
> associate new "tapply problems" with this news item.

We are aware of a couple of such problems, but they are code that should 
not have worked before.  Unfortunately, in S tapply gives a vector and not 
a 1D array here ....

> Also, *should* you be able to add a (4) array to a (1,4) array?

No.  You cannot in S.

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595



More information about the R-devel mailing list