一.创建矩阵和数组
首先在这一节的教程开始之前,我们需要清楚的是矩阵是特殊的数组,因为矩阵属于二维数组,而数组可以是一维,三维,甚至n维。
比如说我们要创建一个元素为20个,4行5列的矩阵,则输入以下代码:
> x <-matrix(1:20,4,5) > x [,1] [,2] [,3] [,4] [,5] [1,] 1 5 9 13 17 [2,] 2 6 10 14 18 [3,] 3 7 11 15 19 [4,] 4 8 12 16 20
这样我们的一个矩阵就创建完成了。为了更加详细地表示出有多少航和有多少列,则可以使用参数nrow和ncol,也可以像上面的例子一样不加,下面是加上这两个参数的例子:
> v<-1:30 > w<-matrix(v,nrow=10,ncol = 3) > w [,1] [,2] [,3] [1,] 1 11 21 [2,] 2 12 22 [3,] 3 13 23 [4,] 4 14 24 [5,] 5 15 25 [6,] 6 16 26 [7,] 7 17 27 [8,] 8 18 28 [9,] 9 19 29 [10,] 10 20 30
我们可以看到这两个矩阵都是按照列来排列数字的,每一列从上到下数字从小到大,但我们能不能够将数字进行按行排列呢?答案显然是可以的,只需要在后面就上参数byrow=T就可以了。代码如下所示:
> w<-matrix(v,10,3,byrow = T) > w [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 [4,] 10 11 12 [5,] 13 14 15 [6,] 16 17 18 [7,] 19 20 21 [8,] 22 23 24 [9,] 25 26 27 [10,] 28 29 30
当然,我们能不能够将每行每列都进行命名呢,这样一个矩阵旁边全是数字看起来未免也太繁琐了,下面的dimnames()命名函数则给予了我们这个机会。我们首先将每行每列的名称写出来,然后再利用dimnames()函数和list列表将这些名字输入到矩阵当中即可:
> rowname=c("R1","R2","R3",