Skip to content
Prev 377307 / 398502 Next

Problem with the matrix() function.

In the course of writing a bit of somewhat convoluted code I recently 
made a silly error that revealed the following phenomenon:

m <- matrix(1:10,nrow=2,ncol=c(5,4))

produces
That is, the nonsense value of c(5,4) for the "ncol" argument is 
accepted, without comment --- the first entry of the given ncol argument 
is used.

It might be argued that this is a reasonable accommodation of the user's 
ineptitude.  I am of the opinion that an error should be thrown if the
value of ncol is not an integer scalar.

I have also discerned that if ncol is not an integer, it is replaced by 
its floor value.

Is this a Good Thing?

What do others think?

cheers,

Rolf Turner