Why would a design made by perhaps different people at different times have to 
be consistent?

Why complicate a simple design meant to be used in 2-D objects to also handle 
other things?

It is a bit like asking why for a vector you cannot use the same verb to 
measure length as in one sense a vector is about the same as a 1-D matrix. Why 
use length(vec) and not nrow(vec) or something

-----Original Message-----
From: R-devel <r-devel-boun...@r-project.org> On Behalf Of Gabor Grothendieck
Sent: Sunday, September 8, 2024 8:37 AM
To: Marc Schwartz <marc_schwa...@me.com>
Cc: r-devel@r-project.org
Subject: Re: [Rd] Inconsistency between row and nrow

The fact that it is consistent with the documentation is not the
point.  The  point is that the design itself is inconsistent.

On Sun, Sep 8, 2024 at 8:27 AM Marc Schwartz <marc_schwa...@me.com> wrote:
>
> Hi Gabor,
>
> In strictly reading the help files for both nrow() and row(), the 'x' 
> argument in the former case is "a vector, array, data frame, or NULL.", 
> whereas in the latter case it is "a matrix-like object, that is one with a 
> two-dimensional dim.".
>
> Thus, I would expect row() to fail on a >= 3-dimensional array, as your 
> example shows.
>
> In reading the help file for slice.index(), there is the following in the See 
> Also section:
>
> "row and col for determining row and column indexes; in fact, these are 
> special cases of slice.index corresponding to MARGIN equal to 1 and 2, 
> respectively when x is a matrix."
>
> further differentiating the behavior of row() and col() as more specific 
> implementations in the 2-dimensional case.
>
> To my read then, the difference in behavior appears to be intentional and 
> expected.
>
> Regards,
>
> Marc Schwartz
>
>
> -----Original Message-----
> From: R-devel <r-devel-boun...@r-project.org 
> <mailto:r-devel-boun...@r-project.org>> on behalf of Gabor Grothendieck 
> <ggrothendi...@gmail.com <mailto:ggrothendi...@gmail.com>>
> Date: Sunday, September 8, 2024 at 7:31 AM
> To: "r-devel@r-project.org <mailto:r-devel@r-project.org>" 
> <r-devel@r-project.org <mailto:r-devel@r-project.org>>
> Subject: [Rd] Inconsistency between row and nrow
>
>
> In the following nrow provides the expected result but row gives an
> error. I would have thought that they would both work or both fail.
>
>
> aa <- array(dim = 5:3)
>
>
> nrow(aa)
> ## [1] 5
>
>
> row(aa)
> ## Error in row(aa) : a matrix-like object is required as argument to 'row'
>
>
> # this does work:
> slice.index(aa, 1)
>
>
> --
> Statistics & Software Consulting
> GKX Group, GKX Associates Inc.
> tel: 1-877-GKX-GROUP
> email: ggrothendieck at gmail.com
>
>
> ______________________________________________
> R-devel@r-project.org <mailto:R-devel@r-project.org> mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel 
> <https://stat.ethz.ch/mailman/listinfo/r-devel>
>
>
>
>


-- 
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to