美文网首页
5.R中的数据结构(矩阵)

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

作者: NiKasu | 来源:发表于2021-05-18 09:24 被阅读0次

    一、数据结构回顾

    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是矩阵吗?

    相关文章

      网友评论

          本文标题:5.R中的数据结构(矩阵)

          本文链接:https://www.haomeiwen.com/subject/oydejltx.html