On Thu, 25 Dec 2014, Jeff Newmiller wrote:

You have written a lot, Mike, as though we did not know it. You are not the only one with math and multiple computing languages under your belt.

I'm not assuming that you and Bert don't know things, but I do expect to have a wider audience -- when I search for things, sometimes I find my postings from 10 years ago. I'm probably not the only one.


The point Bert made is that the concept that a matrix IS-A vector is not just an implementation detail in R... it helps the practitioner keep straight why things like a[3] is perfectly valid when a is a matrix, and why

a*a
    [,1] [,2]
[1,]    1    9
[2,]    4   16

is true. I understand why you are uncomfortable with it, as I was once, but this is how R works so you are only impeding your own effectiveness by clinging to theory on this point.

Sorry, your concepts aren't helping me and I'm not uncomfortable with what R is doing. In fact, what I wrote earlier is that R seems to be much like Octave/MATLAB, which I have used even more than I've used R. The use of what Octave calls "fortran indexing" is an example. We can refer to matrix element a[3] in R or element a(3) in Octave and we're referring to the same element. It's also the third element of vec(a). That doesn't mean that 'a' is a vector. R says that it is not a vector. That doesn't confuse me. I can refer to the third element of a matrix even if the matrix is not a vector.

I don't understand how your concept helps in understanding a*a. It's an element-by-element product (also called Hadamard product). In Octave it would be a.*a. The matrix product in R is a%*%a and in Octave it is a*a. I find nothing confusing about any of this and I don't see how conceiving of 'a' as a vector helps at all.

The difference between our concepts is that this makes no sense within your framework where you think of a matrix as being a vector:

a <- matrix(1:4, 2,2)
is.vector(a)
[1] FALSE

But to me it makes perfect sense because 'a' is a matrix and a matrix is not a vector. We might say that it contains a vector, or that the elements of the matrix are constructed from the elements of a vector, but not that the matrix is a vector. It is a different class of object:

class(a)
[1] "matrix"

Mike

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to