美文网首页R语言
R语言矩阵与数组2021.1.24

R语言矩阵与数组2021.1.24

作者: R语言_茶味先生 | 来源:发表于2021-01-28 14:03 被阅读0次

总结一句,放在开头:R语言中的向量更像是数组,而数组更像是矩阵 。

矩阵

矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。向量是一维的,而矩阵是二维的,需要有行和列。在R软件中,矩阵是有维数的向量,这里的短阵元素可以是数值型,字符型或者逻辑型,但是每个元素必须都拥有相同的模式,这个和向量一致。

1、m<-matrix(向量名,nrow=行数,ncol=列数): 输出矩阵 

例如输入:

x<-1:20

m<-matrix(x,nrow=2,ncol=10)

输出:

       [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]

[1,]    1    3    5    7    9  11  13  15  17    19

[2,]    2    4    6    8  10  12  14  16  18    20

2、m<-matrix(向量名,数值,byrow=T/F) :将数据分为x行,并且按行或按列排列元素(T为按行,F为按列)

例如输入:

 m<-matrix(1:20,4,byrow=T)                             

输出:

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

[1,]    1    2    3    4    5

[2,]    6    7    8    9  10

[3,]  11  12  13  14  15

[4,]  16  17  18  19  20

例如输入:

 m<-matrix(1:20,4,byrow=F)                            

输出:

       [,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

矩阵行列命名

用list列表来给矩阵命名行列

例子:

rnames<-c("R1","R2","R3","R4")

cnames<-c("C1","C2","C3","C4","C5")

dimnames(m)<-list(rnames,cnames)

输出:

      C1 C2 C3 C4 C5

R1  1    5    9   13  17

R2   2    6  10  14  18

R3    3    7  11  15 19

R4    4    8  12  16  20


数组

创建三维数组

输入:

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

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

dim3<-c("C1","C2","C3","C4")                                                    #定义每一维度名称

z<-array(1:24,c(2,3,4),dimnames<-list(dim1,dim2,dim3))         #创建“长宽高为2,3,4”的三维数组

输出:

, , C1

  B1 B2 B3

A1  1  3  5

A2  2  4  6

, , C2

     B1 B2 B3

A1  7   9   11

A2  8  10  12

, , C3

     B1 B2 B3

A1 13  15 17

A2 14  16 18

, , C4

     B1 B2 B3

A1 19  21 23

A2 20  22 24


矩阵索引

1.访问元素:矩阵名[行下标,列下标],例如m[1,2],访问第一行,第二列元素。

2.访问某行所有元素:矩阵名[行下标,]/矩阵名[,列下标],例如:m[,3],访问第三列所有元素。

3.访问指定行和列元素:矩阵名[c(开始行:结束行),c(开始列:结束列)]例如:m[c(2:4),(1:3)],访问从第二行到第四行,第一列到第三列所有元素。

4.去除某一行访问某列元素:矩阵名[-行下标,列下标],例如:m[-1,2]取出去除了第一行的第二列其他元素。

5.通过行名和列命索引:矩阵名["行名","列名"], 例如:m["R1","C2"]取出行名为R1,列名为C2的元素,注意行名和列名要加引号


矩阵运算

四则运算

矩阵与矩阵运算要求维度一致,矩阵与值也可以进行四则运算。

只对矩阵的某一行或者某一列进行运算:

rowSums(m):计算矩阵每一行的和

colSums(m):计算矩阵每一列的和

rowMeans(m):计算矩阵每一行的平均值

colMeans(m):计算矩阵每一列的和平均值

矩阵乘法(分为内积和外积)

 n*m:外积,矩阵对应元素乘积

n%*%m:内积,矩阵的积对应行列相乘再相加

其他运算

diag(矩阵名):输出方阵的对角线元素

t(函数名):输出转置矩阵,并且转换排序规则

相关文章

  • R语言矩阵与数组2021.1.24

    总结一句,放在开头:R语言中的向量更像是数组,而数组更像是矩阵 。 矩阵 矩阵(Matrix)是一个按照长方阵列排...

  • R 语言-矩阵与数组

    1、矩阵 矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合。向量是一维的,而矩阵是二维的,需要有行和列。...

  • R语言入门笔记(2) - R语言科学计算

    R语言科学计算 分类统计 mean(),求平均值 min(),求最小值 sd(),求标准差 数组和矩阵 数组与矩阵...

  • Day5—刘强

    R语言的数据结构 数据类型 R语言主要数据类型如下: 向量(vector) 矩阵(Matrix) 数组(Array...

  • R语言——向量、矩阵、数组

    向量 向量是用于存储数值型、字符型或逻辑型数据的一维数组。执行组合功能的函数c()可用来创建向量。 其中,a是数值...

  • 学习小组Day5笔记--小明

    R语言数据结构 数据类型 -向量-矩阵-数组-数据框-列表 知识点,与python相比 1.注意赋值方式2.r中同...

  • 学习小组Day5笔记——四海

    R语言第二天——R基础 数据类型 向量 vector* #重要 矩阵 matrix 数组 array 数据框 da...

  • RNA-seq分析(三)DESeq2

    1、DESeq2差异表达分析 R语言数据类型:向量(vector);列表(list);矩阵(matrix);数组(...

  • R语言中数组的使用

    在R语言中,可以认为数组是矩阵的扩展,它将矩阵扩展到2维以上。如果给定的数组是1维的则相当于向量,2维的相当于矩阵...

  • R语言 矩阵

    矩阵是其中元素以二维矩形布局布置的R对象。 它们包含相同原子类型的元素。 虽然我们可以创建一个只包含字符或只包含逻...

网友评论

    本文标题:R语言矩阵与数组2021.1.24

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