R语言创建使用矩阵(按行按列填充,矩阵命名,矩阵下标使用,数据框转换为矩阵)

Posted Z.Q.Feng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言创建使用矩阵(按行按列填充,矩阵命名,矩阵下标使用,数据框转换为矩阵)相关的知识,希望对你有一定的参考价值。


创建矩阵

代码:

cells <- c(1, 26, 24, 68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")

mymatrix <- matrix(data = cells, nrow = 2, ncol = 2, byrow = TRUE, 
                   dimnames = list(rnames, cnames))

is.matrix(mymatrix)

输出如下:

> cells <- c(1, 26, 24, 68)
> rnames <- c("R1", "R2")
> cnames <- c("C1", "C2")
> 
> mymatrix <- matrix(data = cells, nrow = 2, ncol = 2, byrow = TRUE, 
+                    dimnames = list(rnames, cnames))
> 
> is.matrix(mymatrix)
[1] TRUE
> mymatrix
   C1 C2
R1  1 26
R2 24 68
> 

按行、按列填充

按行填充:设置参数 byrow = TRUE,

mymatrix <- matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE)

输出如下:

> mymatrix <- matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE)
> mymatrix
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
>

按列填充:设置参数 byrow = FALSE,

mymatrix <- matrix(data = 1:6, nrow = 2, ncol = 3, byrow = FALSE)

输出如下:

> mymatrix <- matrix(data = 1:6, nrow = 2, ncol = 3, byrow = FALSE)
> mymatrix
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
>

矩阵命名

设置参数 dimnames,这里的 dimnames 是一个长度为 2 的列表,第一个元素为矩阵行名字构成的向量,第二个元素是矩阵列名字构成的向量。

mymatrix <- matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE,
				   dimnames = list(c('r1', 'r2'), c('c1', 'c2', 'c3')))

输出如下:

> mymatrix <- matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE,
+                    dimnames = list(c('r1', 'r2'), c('c1', 'c2', 'c3')))
> mymatrix
   c1 c2 c3
r1  1  2  3
r2  4  5  6
> 

矩阵下标使用

R 语言中使用 [ ] 来访问矩阵中的元素,用法如下:

mymatrix <- matrix(1:15, 3, 5, TRUE)
mymatrix[c(1, 2), c(3, 4, 5)]

表示访问矩阵中的第1、2行中的第3、4、5列元素,输出如下:

> mymatrix <- matrix(1:15, 3, 5, TRUE)
> mymatrix
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    6    7    8    9   10
[3,]   11   12   13   14   15
> mymatrix[c(1, 2), c(3, 4, 5)]
     [,1] [,2] [,3]
[1,]    3    4    5
[2,]    8    9   10
> 

转换数据框为矩阵

使用 as.matrix() 函数,函数参数为 R 中除矩阵外的任意对象:

> is.matrix(warpbreaks[1:10,]) 
[1] FALSE
> as.matrix(warpbreaks[1:10,]) 

以上是关于R语言创建使用矩阵(按行按列填充,矩阵命名,矩阵下标使用,数据框转换为矩阵)的主要内容,如果未能解决你的问题,请参考以下文章

r语言如何生成矩阵偶数

R语言数据结构

R语言矩阵向量操作(矩阵乘法,向量内积外积(叉乘),矩阵转置,矩阵的逆)

R语言矩阵向量操作(矩阵乘法,向量内积外积(叉乘),矩阵转置,矩阵的逆)

一句python两句R:矩阵与向量的基本运算

一句python两句R:矩阵与向量的基本运算