5.R中的数据结构(矩阵)

2021-05-18  本文已影响0人  NiKasu

一、数据结构回顾

R中用于存储数据的形式即数据结构,包括向量(vector,文档4中已介绍);矩阵(matrix)、数组;数据框(dataframe)和列表(list) (记住各数据结构的英文,后面要用。数组了解概念就行)

                                 ——本节详细内容可参考Robert I. Kabacoff《R语言实战(第2版) 》

二、数据结构

1矩阵 (matrix)

矩阵是存储数值型、字符型或逻辑性数据的二维数组。

#数组(array)与矩阵类似,但是维度可以大于2。

矩阵创建函数为:matrix()  

特点:和向量相似,矩阵中只能包含一种数据类型。

matrix()函数格式如下:

myymatrix<- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,

byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))

解释:

myymatrix矩阵名字<-matrix(vector需要纳入的元素,nrow行数目=number_of_rows多少行,ncol列数目=number_of_columns多少列,byrow按行填充=logical_value是/否(默认的是F,按列),dimnames展示行列名=list(char_vector_rownames字符型向量为行名,char_vector_colnames字符型向量为列名))

举例:

y <- matrix(1:20,nrow = 4,ncol=5)#创建一个4行5列的矩阵y

#注意矩阵元素的个数是行数、列数的整数倍,不是整数倍报告警告

#矩阵元素个数大于或小于 行*列,按照原规则填充,多了的不填充

#少的部分继续从头填充,具体可见下面z、y、w结果

y

x <- matrix(1:20,nrow = 3,ncol=5)

x

z <- matrix(1:20,nrow = 5,ncol=6) 

z

w <- matrix(1:17,nrow = 4,ncol=5) 

w  

cell<-c(1,2,4,6)

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

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

m<-matrix(cell,nrow=2,ncol=2,byrow=F,dimnames=list(a,b))

m

n<-matrix(cell,nrow=2,ncol=2,byrow=T,dimnames=list(a,b))

n

2 矩阵中元素的引用 (即元素的提取)

使用中括号引用元素[]+下标   #R中下标最小为1

x[i,j]  #x是矩阵名称,i表示第i行,j表示第j列,合在一起就是提取第i行第j列的元素;

x[i,]  #提取第i行

x[,j]  #提取第j列

#当i或j为数值型向量时,则表示多行多列

举例:

x<- matrix(1:10, nrow=2)

x

x[2, ]

x[,2]

x[1,4]

x[1, c(4,5)]

3 判断数据是否为矩阵

is.matrix()函数               #返回逻辑值

举例:

a<-matrix(c(1:12),nrow=3,ncol=4)   #创建一个3行4列的矩阵a

is.vector(a)            #判断a是向量吗?是就会返回TRUE,不是返回FALSE

is.matrix(a)#判断a是矩阵吗?

上一篇下一篇

猜你喜欢

热点阅读