创建矩阵:
matrix,两个参数,多少行+多少列
出现:
console出现:
添加矩阵的内容:
控制台console出现:
矩阵填充是按照列的方式来填充的
查看矩阵维度属性:
dim(x)
可以查看有多少行多少列
三行两列
矩阵有多少属性,有哪些属性:
attributes(x)
当前这个矩阵的属性是维度
矩阵就是向量加上维度属性
所以也可以用以下方式进行矩阵的创建:
给y向量添加维度信息dim赋值c,这个c函数里面写两个参数,第一个参数有多少行,第二个有多少列
运行后:
两个矩阵进行拼接
按照行来拼接:rbind
按照列拼接:cmind
数组
用arry函数,第一个参数是数组的内容,第二个参数是维度dim的设定
二维:
三维:
第三个维度“4”代表有四个元素;
“,,1”代表的是第三个维度里的第一个元素,也就是“4”这个维度中的第一个元素。
第三个维度的第一个元素“,,1”中是一个两行三列的矩阵,也就是dim函数的前两个维度:2✖3
注意的是:1:24的排列是按照第三个维度中的每一个元素排下来的,也就是说:先排完“,,1”的123456,再排“,,2”....
R数据结构
2.矩阵(matrix):向量+维度属性(整数向量:nrow, ncol)
2.1 创建矩阵:
方法一: x <- matrix(nrow=3, ncol=2) #创建一个3行2列矩阵,元素为NA。该函数创建矩阵时先列后行。
x <- matrix(1 : 6, nrow=3, ncol=2) #按列填充元素
方法二: y <- 1 : 6 #生成一个向量
dim(y) <- c(2, 3) #指定行数与列数
其他:dim(matrix):查看矩阵matrix的行数与列数
attributes(matrix):查看矩阵matrix有哪些属性
2.2 拼接矩阵
y1 <- 1 : 6
dim(y1) <- c(2 : 3)
y2 <- matrix(1:6, nrow =2, ncol=3)
rbind(y1, y2) #按行拼接
cbind(y1, y2) #按列拼接
3.数组:与矩阵类似,但维度可以大于2
创建数组:x <- array(1:24, dim=c(4, 6)) #参数1填充元素,参数2指定维度
y <- array(1:24, dim=c(2, 3, 4))
1
数组三个维度的排列
数据结构矩阵函数
2-3矩阵和数组
矩阵(matrix):向量+维度属性(整数向量:nrow,ncol)
创建矩阵:1.x<-matrix(nrow=3,ncol=2)(两个元素,三行两列)
x<-matrix(1:6,nrow=3,ncol=2)(1到6为矩阵内容,先填列)
2.y<-1:6
dim(y)<-c(2,3)
dim(x)(维度的属性 查看x有多少行多少列)
attributes(x)查看x当前的属性
y2<-matrix(1:6,nrow=2,ncol=3)
rbind(y,y2)(行拼接矩阵)
cbind(y,y2)(列拼接矩阵)
数组(array):与矩阵类似,但是维度可以大于2,矩阵的维度只能等与2
创建数组:1.x<-array(1:24,dim=c(4,6))(创建两维的数组,维度为4行6列)
x1<-array(1:24,dim=c(2,3,4))
(最常用的是向量,矩阵,数据框 ,数组作为了解)
matrix(内容,行数,列数)——创建矩阵
vector()+dim()----------------创建矩阵
cbind()------------------------矩阵按列合并
rbind()------------------------矩阵按行合并
attributes()-------------------查看矩阵属性
array(内容,dim = c())-------创建数组
1、矩阵
向量+纬度属性(整数向量:nrow,ncol)
创建矩阵
matrix()先列后行
vector()+dim()
cbind(),rbind()
attributes()
2、数组
与矩阵类似,但是纬度可以大于2
创建数组 array()
创建矩阵的。。。
元组array(与矩阵相比,可以不止两个维度)
#Matrix & Array
定义矩阵 C <- (data,nrow,ncol) #其中data为矩阵的内容,nrow为行
数,ncol为列数,矩阵在填充的时候是以列的方式来填充的
dim(x) #查看矩阵的维数m×n
arritubtes(x) #查看x的属性
矩阵相当于向量+维度:y <- 1:6 ,dim(y) <- c(2,3) #构建2×3维度的矩阵
矩阵的拼接:
rbind(x,y) #将矩阵x和y按行拼接,列数不变,行数增加
cbind(x,y) #将矩阵x和y按列拼接,行数不变,列数相加
数组(array)-与矩阵相似,但是维度可以大于2
x <- array(1:24,dim=(4,6)) #用array直接建立数组
x<- array(1:24,dim=(2,3,4)) #建立3维数组,其输出为4个2*3数组
·······
数组(array)
——与矩阵类似(矩阵维度只能等于2),但是维度可以大于2
创建数组
x<- array(1:24,dim=c(4,6))----一个4行6列的矩阵
x1<- array(1:24,dim=c(2,3,4))-----有4个两行三列的矩阵
矩阵和数组
Matrix & Array
创建矩阵
x <- matrix(nrow = 3 , ncol = 2) x <- matrix(1:6 , nrow = 3 , ncol = 2)---矩阵的充填,按列进行充填
dim(x)---用于查看 行,列
attributes(x)-----用于查看矩阵的属性
向量转矩阵
y<-1:6
dim(y)<-c(2,,3)
将两个矩阵进行拼接
y2<matrix(1:6,nrow=2, ncol=3)
方法1:安行拼接:rbind(y,y2)
方法2:安列拼接:cbind(y,y2)
array数组与矩阵类似但是维度可以大于二
创建数组 x<-array(1:24,dim=c(2,3,4)) array函数有两个参数,内容和维度,维度用dim=c()来确定,
标出的1是指第三个维度里面的第一个元素,每个元素是两行三列,内容是按元素为单位进行依次 填充
matrix矩阵(向量加上维度属性)
创建矩阵(2个方法)
① x<-matrix(1:6,nrow=,ncol=)(内容,行数,列数)填充时以列为单位进行填充
dim(x)查看矩阵的维度
attributes(x)查看矩阵属性→维度
② y<-1:6(创建一个向量)
dim(y)<-c(2,3)(给y添加一个维度信息)
拼接矩阵
行拼接rbind(y,y2)
列拼接cbind(y,y2)
矩阵的创建(行列): x <- matrix(nrow = 3, ncol = 2)
x <-matrix(1:6, nrow = 3, ncol = 2)
矩阵的维度:dim(x)
属性:attributes(x)
矩阵按行(行增加)拼接:rbind(x,y);按列拼接:cbind(x,y).
创建数组:x <- array(1:24,dim=c(4,6))
x <- array(1:24,dim=c(2,3,4))
> o <- array(1:100,dim = c(4,5,4))> o, , 1 [,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 , , 2 [,1] [,2] [,3] [,4] [,5] [1,] 21 25 29 33 37 [2,] 22 26 30 34 38 [3,] 23 27 31 35 39 [4,] 24 28 32 36 40 , , 3 [,1] [,2] [,3] [,4] [,5] [1,] 41 45 49 53 57 [2,] 42 46 50 54 58 [3,] 43 47 51 55 59 [4,] 44 48 52 56 60 , , 4 [,1] [,2] [,3] [,4] [,5] [1,] 61 65 69 73 77 [2,] 62 66 70 74 78 [3,] 63 67 71 75 79 [4,] 64 68 72 76 80 |
> |
> o <- array(1:100,dim = c(20,5))> o [,1] [,2] [,3] [,4] [,5] [1,] 1 21 41 61 81 [2,] 2 22 42 62 82 [3,] 3 23 43 63 83 [4,] 4 24 44 64 84 [5,] 5 25 45 65 85 [6,] 6 26 46 66 86 [7,] 7 27 47 67 87 [8,] 8 28 48 68 88 [9,] 9 29 49 69 89 [10,] 10 30 50 70 90 [11,] 11 31 51 71 91 [12,] 12 32 52 72 92 [13,] 13 33 53 73 93 [14,] 14 34 54 74 94 [15,] 15 35 55 75 95 [16,] 16 36 56 76 96 [17,] 17 37 57 77 97 [18,] 18 38 58 78 98 [19,] 19 39 59 79 99 [20,] 20 40 60 80 100 |
> |
> cbind(p,q) [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 4 7 -1 -4 -7 [2,] 2 5 8 -2 -5 -8 [3,] 3 6 9 -3 -6 -9> cbind9q,pError: unexpected ',' in "cbind9q,"> cbind(q,p) [,1] [,2] [,3] [,4] [,5] [,6] [1,] -1 -4 -7 1 4 7 [2,] -2 -5 -8 2 5 8 [3,] -3 -6 -9 3 6 9> x <- c(1:20,dim(4,5))Error in dim(4, 5) : 2 arguments passed to 'dim' which requires 1> x <- matrix(1:20,dim(4,5))Error in dim(4, 5) : 2 arguments passed to 'dim' which requires 1> x <- array(1:20,dim(4,5))Error in dim(4, 5) : 2 arguments passed to 'dim' which requires 1> h <- array(1:16,dim(2,8))Error in dim(2, 8) : 2 arguments passed to 'dim' which requires 1> h <- array(1:16,dim <- (2,8))Error: unexpected ',' in "h <- array(1:16,dim <- (2,"> h <- array(1:16,dim = (2,8))Error: unexpected ',' in "h <- array(1:16,dim = (2,"> h <- array(1:16,dim = c(2,8))> h [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [1,] 1 3 5 7 9 11 13 15 [2,] 2 4 6 8 10 12 14 16 |
> |
> w <- matrix(1:12,nrow = 2,ncol = 6)> w [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 3 5 7 9 11 [2,] 2 4 6 8 10 12> dim(w)[1] 2 6> attributes(w)$dim [1] 2 6> j <- 1:10> dim(j) <- c(5,2)> j [,1] [,2] [1,] 1 6 [2,] 2 7 [3,] 3 8 [4,] 4 9 [5,] 5 10> rbind(w,j)Error in rbind(w, j) : number of columns of matrices must match (see arg 2)> p <- matrix(1:9,nrow = 3,ncol = 3)> p [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9> q <- matrix(-1:-9,nrow = 3,ncol = 3)> q [,1] [,2] [,3] [1,] -1 -4 -7 [2,] -2 -5 -8 [3,] -3 -6 -9> rbind(p,q) [,1] [,2] [,3] [1,] 1 4 7 [2,] 2 5 8 [3,] 3 6 9 [4,] -1 -4 -7 [5,] -2 -5 -8 [6,] -3 -6 -9> rbind(q,p) [,1] [,2] [,3] [1,] -1 -4 -7 [2,] -2 -5 -8 [3,] -3 -6 -9 [4,] 1 4 7 [5,] 2 5 8 [6,] 3 6 9 |
> |
> k <- matrix(3,4)> k [,1] [1,] 3 [2,] 3 [3,] 3 [4,] 3> l <- matrix(1:16,4)> l [,1] [,2] [,3] [,4] [1,] 1 5 9 13 [2,] 2 6 10 14 [3,] 3 7 11 15 [4,] 4 8 12 16> l <- matrix(1:16,4,4)> l [,1] [,2] [,3] [,4] [1,] 1 5 9 13 [2,] 2 6 10 14 [3,] 3 7 11 15 [4,] 4 8 12 16
矩阵维度只能等于2,数组与矩阵类似,但维度可以大于2
创建数组array,输入两个参数:内容和维度(行,列,矩阵个数)
创建矩阵及所用函数
nrow行数,ncol列数,矩阵填充是按照列的方式进行的,矩阵维度属性dim,矩阵属性查看用attributes函数
矩阵拼接:按行拼接rbind,按列拼接cbind
用matrix(data, nrow, ncol)创建矩阵,注意data是按照列来填充;
可以用dim()函数考察矩阵的维度;
用attributes()函数来考察矩阵有那些属性;
可以在向量的基础上赋值维度将向量转化为矩阵;
按行拼接矩阵用rbind()函数,按列拼接则用cbind()函数;
用array(data, dim)函数创建数组,数组维数可以大于2;
数据结构-数组
数据结构-矩阵
1、matrix填充先填充列,再填充行;
2、创建矩阵有两种方式:1),y<-1:6 dim(y)<-c(2,3)
2)y2<-matrix(1:6,nrow = 2,ncol = 3);
3、attributes()查看矩阵的信息;
5、矩阵只有行和列连个维度,但是数组的维度可以大于2,所以dim参数都是为数组设计的
矩阵填充方式是按照列来填充的。
x<-matrix(nrow=,ncol=)
dim(x)
attributes(x)
y<-1:6
(添加维度信息)dim(y)<-c(2,3)
拼接:rbind(y,y2), cbind(y,y2)
array 数组,维度可以大于2
x<-array(1:24, dim=c(2,3,4))