There are several ways of making a matrix. You can create one directly like this:

X<-matrix(c(1,0,0,0,1,0,0,0,1),nrow=3) X [,1] [,2] [,3] [1,] 1 0 0 [2,] 0 1 0 [3,] 0 0 1

where, by default, the numbers are entered columnwise. The class and attributes of *X* indicate that it is a matrix of three rows and three columns (these are its dim attributes)

class(X) [1] "matrix" attributes(X) $dim [1] 3 3

In the next example, the data in the vector appear row-wise, so we indicate this with byrow=T:

vector<-c(1,2,3,4,4,3,2,1) V<-matrix(vector,byrow=T,nrow=2) V [,1] [,2] [,3] [,4] [1,] 1 2 3 4 [2,] 4 3 2 1

Another way to convert a vector into a matrix is by providing the vector object with two dimensions (rows and columns) using the dim function like this:

`dim(vector)<-c(4,2)`

We can check that vector has now become a matrix:

```
is.matrix(vector)
[1] TRUE
```

We need to be careful, however, because we have made no allowance at this stage for the fact that the data were entered row-wise into vector:

```
vector
[,1] [,2]
[1,] 1 4
[2,] 2 3
[3,] 3 2
[4,] 4 1
```

The matrix we want is the transpose, t, of this matrix:

```
(vector<-t(vector))
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 4 3 2 1
```

At first, matrices have numbers naming their rows and columns (see above). Here is a 4 ×5 matrix of random integers from a Poisson distribution with mean= 1.5:

X<-matrix(rpois(20,1.5),nrow=4) X [,1] [,2] [,3] [,4] [,5] [1,] 1 0 2 5 3 [2,] 1 1 3 1 3 [3,] 3 1 0 2 2 [4,] 1 ...

Start Free Trial

No credit card required