码迷,mamicode.com
首页 > 编程语言 > 详细

R语言入门视频笔记--5--矩阵与数组

时间:2017-04-05 14:02:48      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:tar   语言   [1]   意思   复杂   多个   name   row   array   

 

生成一个新矩阵,多用一些参数吧这次:

x <- c(12,13,14,15)

rname <- c("R1","R2")

nname <- c("C1","C2")

newmatrix <- matrix(x,nrow=2,ncol=2,byrow=TRUE,dimnames=list(rname,nname))

##nrow 是规定矩阵有几行

##ncol是规定矩阵有几列

##byrow是规定你的矩阵是一行一行的去填充。(默认是一列一列的去填充)

##dimnames是规定行名和列名

 

ok解决

  C1      C2

R1 12  13

R2 14  15

newmatrix[2,]     ##有14 15输出 ,很简单有木有

newmatrix[1,2]  ##输出13,先行后列读入

 

可以在复杂一点,把两个或多个矩阵组合在一起,就是-----“多维数组“

使用array函数生成

fristarray <- array(1;24,c(3,2,4))    #还有别的参数没写

, , 1                       

[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6

, , 2

[,1] [,2]
[1,] 7 10
[2,] 8 11
[3,] 9 12

, , 3

[,1] [,2]
[1,] 13 16
[2,] 14 17
[3,] 15 18

, , 4

[,1] [,2]
[1,] 19 22
[2,] 20 23
[3,] 21 24

 

可以看出来c(3,2,4)里面的数字都是什么意思

第一个:每一层数据有几行

第二个:每一层数据有几列

第三个:共有几层

 

还可设置名字

dim1 <- c("A1","A2","A3")

dim2 <- c("B1","B2")

dim3 <- c("C1","C2","C3","C4")

oo <- 1:24

renewarray <- array(data=oo,dim=c(3,2,4),dimnames = list(dim1,dim2,dim3)) 

##data如果多的话就要data=c(数据1,数据2,...) 

##生成下面的东西

, , C1

B1 B2
A1 1 4
A2 2 5
A3 3 6

, , C2

B1 B2
A1 7 10
A2 8 11
A3 9 12

, , C3

B1 B2
A1 13 16
A2 14 17
A3 15 18

, , C4

B1 B2
A1 19 22
A2 20 23
A3 21 24

 

找22这个数字要输入什么呢?   renewarray[1,2,4]

先输入第几行,然后是第几列,最后是第几层22这个数是第一行、第二列、第四层

c(3,2,4)这个参数最后会成为数组的dim属性

输入attributes(renewarray)

会有下面的输出

$dim

[1] 3 2 4

 

R语言入门视频笔记--5--矩阵与数组

标签:tar   语言   [1]   意思   复杂   多个   name   row   array   

原文地址:http://www.cnblogs.com/modaidai/p/6668187.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!