From murdoch@dunc@n @end|ng |rom gm@||@com  Sat Sep 23 23:46:18 2023
From: murdoch@dunc@n @end|ng |rom gm@||@com (Duncan Murdoch)
Date: Sat, 23 Sep 2023 17:46:18 -0400
Subject: [Rd] NROW and NCOL on NULL
In-Reply-To: <CANcXGiz9g6mAsnNd3=Uc9iQ5xvE8Mg2ws5fbsEFYVXB_HL=Sog@mail.gmail.com>
References: <CANcXGizv3sD3kiE__EUkuaESn44mvtQMrtpO_k=FjUwFQDGnVQ@mail.gmail.com>
 <936870db-2e16-4b8b-878b-c2dde317319c@gmail.com>
 <CANcXGiz9g6mAsnNd3=Uc9iQ5xvE8Mg2ws5fbsEFYVXB_HL=Sog@mail.gmail.com>
Message-ID: <6953a2a1-20df-47ba-885a-058f364d11b2@gmail.com>

On 23/09/2023 3:41 p.m., Simone Giannerini wrote:
> I know it's documented and I know there are other ways to guard
> against this behaviour, once you know about this.
> The point is whether it might be worth it to make NCOL and NROW return
> the same value on NULL and make R more consistent/intuitive and
> possibly less error prone.

If you don't list any examples of problems, then the only possible 
conclusion is that there aren't any except obscure ones, so the answer 
is clearly that it is not worth it to make this change.

Duncan Murdoch

> 
> Regards,
> 
> Simone
> 
> On Sat, Sep 23, 2023 at 7:50?PM Duncan Murdoch <murdoch.duncan at gmail.com> wrote:
>>
>> It's been documented for a long time that NCOL(NULL) is 1.  What
>> particular problems did you have in mind?  There might be other ways to
>> guard against them.
>>
>> Duncan Murdoch
>>
>> On 23/09/2023 1:43 p.m., Simone Giannerini wrote:
>>> Dear list,
>>>
>>> I do not know what would be the 'correct' answer to the following but
>>> I think that they should return the same value to avoid potential
>>> problems and hard to debug errors.
>>>
>>> Regards,
>>>
>>> Simone
>>> ---------------------------------------
>>>
>>>> NCOL(NULL)
>>> [1] 1
>>>
>>>> NROW(NULL)
>>> [1] 0
>>>
>>>> sessionInfo()
>>> R version 4.3.1 RC (2023-06-08 r84523 ucrt)
>>> Platform: x86_64-w64-mingw32/x64 (64-bit)
>>> Running under: Windows 11 x64 (build 22621)
>>>
>>> Matrix products: default
>>>
>>>
>>> locale:
>>> [1] LC_COLLATE=Italian_Italy.utf8  LC_CTYPE=Italian_Italy.utf8
>>> [3] LC_MONETARY=Italian_Italy.utf8 LC_NUMERIC=C
>>> [5] LC_TIME=Italian_Italy.utf8
>>>
>>> time zone: Europe/Rome
>>> tzcode source: internal
>>>
>>> attached base packages:
>>> [1] stats     graphics  grDevices utils     datasets  methods   base
>>>
>>> loaded via a namespace (and not attached):
>>> [1] compiler_4.3.1
>>>
>>
> 
>



[Rd] NROW and NCOL on NULL
Duncan Murdoch