>>>>> "BDR" == Prof Brian Ripley <[EMAIL PROTECTED]>
>>>>> on Mon, 3 Oct 2005 09:44:47 +0100 (BST) writes:
BDR> On Mon, 3 Oct 2005, Martin Maechler wrote:
>>>>>>> "Erich" == Erich Neuwirth <[EMAIL PROTECTED]>
>>>>>>> on Sun, 02 Oct 2005 09:39:36 +0200 writes:
>>
Erich> The following code
Erich> zzz<-1:10
Erich> dim(zzz)<-10
Erich> rownames(zzz)
Erich> colnames(zzz)
>>
Erich> yields NULL for the rownames and colnames calls.
Erich> Let us set rownames
>>
Erich> rownames(zzz)<-1:10
>>
Erich> Now rownames(zzz) returns the expected result, but colnames(zzz)
Erich> produces an error:
Erich> Error in dn[[2]] : subscript out of bounds
>>
Erich> So given a onedimensional structure the return behavior of colnames
Erich> is different depending on the fact if rownames are set or not.
>>
Erich> Should the behavior of colnames be changed to make the result
Erich> independent from this fact?
>>
>> yes, thank you, Erich.
>> It should give an error also in the 1st case which is
>> BTW identical to
>> zzz <- array(1:10)
BDR> Not according to my reading of the help, which says
>> The extractor functions try to do something sensible for any
>> matrix-like object 'x'. If the object has 'dimnames' the first
>> component is used as the row names, and the second component (if
>> any) is used for the col names.
BDR> and reading on, I think it should give NULL in both cases. You could
BDR> argue that a 1D array is not `matrix-like', but that seems a narrow
BDR> interpretation (especially as rownames does work for such arrays).
I was lead to my conclusion by the same help page, reading
>> Arguments:
>>
>> x: a matrix-like R object, with at least two dimensions for 'colnames'.
from which I concluded an error was appropriate for 'colnames'
when 'x' doesn't have two dimensions.
If we adopt your proposal (NULL in any case), we should
definitely also fix that paragraph...
Martin
______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel