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语言矩阵向量操作(矩阵乘法,向量内积外积(叉乘),矩阵转置,矩阵的逆)