There are some other objects that you should know about if you’re using R. Although most of these objects are not formally part of the R language, they are used in so many R packages, or get such special treatment in R, that they’re worth a closer look.
A matrix is an extension of a
vector to two dimensions. A matrix is used to represent two-dimensional
data of a single type. A clean way to generate a new matrix is with the
matrix function. As an example, let’s
create a matrix object with three columns and four rows. We’ll give the
rows the names “r1,” “r2,” “r3,” and “r4,” and the columns the names
“c1,” “c2,” and “c3.”
> m <- matrix(data=1:12, nrow=4, ncol=3, + dimnames=list(c("r1", "r2", "r3", "r4"), + c("c1", "c2", "c3"))) > m c1 c2 c3 r1 1 5 9 r2 2 6 10 r3 3 7 11 r4 4 8 12
It is also possible to transform another data structure into a
matrix using the
An important note: matrices are implemented as vectors, not as a vector of vectors (or as a list of vectors). Array subscripts are used for referencing elements and don’t reflect the way the data is stored. (Unlike other classes, matrices don’t have an explicit class attribute. We’ll talk about attributes in Attributes.)
An array is an extension of a vector to more than two
dimensions. Arrays are used to represent multidimensional data of a
single type. As above, you can generate an array with the
> a <- array(data=1:24, dim=c(3, 4, 2)) > a , , 1 [,1] [,2] [,3] [,4] [1,] ...