在R中创建奇数元素的矩阵,用NA填充最后一个元素。
我们可以借助prod和dim函数来查找矩阵的元素总数,如下面的示例所示。要创建奇数元素的矩阵,并用NA填充最后一个元素,我们可以使用byrow参数。
例如,如果我们有一个包含19个元素的向量V,那么我们可以使用以下命令创建一个名为M的矩阵,该矩阵包含20个元素,最后一个元素为NA:
M<-matrix(V,ncol=2,byrow=TRUE)
示例1
考虑以下给定的向量:
x1<-rpois(39,5) length(x1)<-prod(dim(matrix(x1,ncol=2)))
警告信息
在matrix(x1, ncol = 2) : 数据长度[39]不是行数[20]的子倍数或倍数
要在上面创建的矩阵上创建x1矩阵,请将以下代码添加到上面的代码段:
M1<-matrix(x1,ncol=2,byrow=TRUE) M1
创建了以下矩阵:
[,1] [,2] [1,] 2 5 [2,] 10 3 [3,] 3 5 [4,] 5 5 [5,] 5 5 [6,] 4 3 [7,] 2 3 [8,] 5 4 [9,] 6 6 [10,] 5 4 [11,] 6 3 [12,] 3 6 [13,] 6 4 [14,] 4 7 [15,] 7 5 [16,] 1 4 [17,] 3 4 [18,] 6 5 [19,] 4 6 [20,] 2 NA
示例2
考虑以下给定的向量:
x2<-rnorm(39) length(x2)<-prod(dim(matrix(x2,ncol=2)))
警告信息
在matrix(x2, ncol = 2) : 数据长度[39]不是行数[20]的子倍数或倍数
要在上面创建的矩阵上创建x2矩阵,请将以下代码添加到上面的代码段:
M2<-matrix(x2,ncol=2,byrow=TRUE) M2
创建了以下矩阵:
[,1] [,2] [1,] 0.66716447 -0.122225066 [2,] -0.07647741 0.028916676 [3,] -0.39709805 1.641409012 [4,] -0.24942074 -0.158497321 [5,] 0.02107895 0.003907016 [6,] -2.05324534 0.979486325 [7,] -0.71567237 -0.499532064 [8,] -0.28274355 -1.111749126 [9,] -0.24421395 -0.615584797 [10,] -1.40823602 0.664978538 [11,] -1.13424418 1.906882422 [12,] -1.50972716 0.587050358 [13,] -0.04610703 0.402558630 [14,] -0.85797812 -0.948390838 [15,] -0.11944543 -1.415887582 [16,] -0.76236171 -0.500234600 [17,] -1.40270152 0.031947267 [18,] -1.85293591 -0.383315786 [19,] -1.35704286 0.023015415 [20,] 1.06800735 NA
示例3
考虑以下给定的向量:
x3<-sample(0:9,79,replace=TRUE) length(x3)<-prod(dim(matrix(x3,ncol=4)))
警告信息
在matrix(x3, ncol = 4) : 数据长度[79]不是行数[20]的子倍数或倍数
要在上面创建的矩阵上创建x3矩阵,请将以下代码添加到上面的代码段:
M3<-matrix(x3,ncol=4,byrow=TRUE) M3
创建了以下矩阵:
[,1] [,2] [,3] [,4] [1,] 1 0 2 4 [2,] 1 5 6 7 [3,] 6 9 0 3 [4,] 3 2 2 7 [5,] 9 5 2 2 [6,] 6 5 1 2 [7,] 8 1 3 1 [8,] 3 6 4 7 [9,] 0 1 2 1 [10,] 8 0 6 0 [11,] 1 8 6 1 [12,] 2 5 0 6 [13,] 0 3 1 5 [14,] 4 3 7 7 [15,] 9 7 4 7 [16,] 2 4 6 0 [17,] 9 8 4 3 [18,] 9 9 0 6 [19,] 6 3 0 4 [20,] 2 4 1 NA
广告