R语言-如何将循环所得的矩阵组成一个矩阵

 更新时间:2021年04月21日 11:35:01   作者:张琪Andrea-E  
这篇文章主要介绍了R语言实现将循环所得的矩阵组成一个矩阵的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在矩阵合并中,常见的方法有cbind()和rbind()

其中,前者为按列合并,后者为按行合并。

但是这两个函数有个缺点,就是不能应用到循环之中。例如:

A<-matrix(1:12,nrow = 4,byrow = T)
B<-matrix(1:8,nrow = 4,byrow = T)
C<-cbind(A,B)

得到的矩阵C为【按列合并两者行数必须相同】:

C

但是如果将这个方法应用在循环中,就无法取得预期效果:

A<-matrix(1:12,nrow = 4,byrow = T)
C<-matrix(0,ncol = 3,byrow = F)
for (i in 1:3) {
  C[1,]<-A[1,i]
}

结果为:

A:

A

C:

C

所以,如果要循环写入的话,不需要for循环即可:

A<-matrix(1:12,nrow = 4,byrow = T)
C<-matrix(0,ncol = 3,byrow = F)
C[1,]<-A[1,1:3]

C:

 C

同样的方法也可以用在一行或一列统一写入新矩阵中

搞定!

补充:R语言入门——矩阵和数组的操作

矩阵操作:

矩阵是一个二维数组,只是每个元素都拥有相同的模式(数值型、字符型或逻辑型)。

可通过函数matrix()创建矩阵。

一般使用格式为:

myymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,
byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))

其中vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选的、以字符型向量表示的行名和列名。

选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按列填充(byrow=FALSE),默认情况下按列填充。

> y <-matrix(1:20,nrow=5,ncol=4)
> y
     [,1] [,2] [,3] [,4]
[1,]    1    6   11   16
[2,]    2    7   12   17
[3,]    3    8   13   18
[4,]    4    9   14   19
[5,]    5   10   15   20

可按行排列、按列排列:

这里写图片描述

矩阵下标:

这里写图片描述

数组

数组(array)与矩阵类似,但是维度可以大于2。数组可通过array函数创建,形式如下:

myarray <- array(vector, dimensions, dimnames)

其中vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,而dimnames是可选的、各维度名称标签的列表。

> dim1<- c("A1","A2","A3")
> dim2 <- c("B1","B2","B3")
> dim3<-c("C1","C2","C3","C4")
> z <- array(1:36, c(3, 3, 4), dimnames=list(dim1, dim2, dim3))
> z
, , C1
   B1 B2 B3
A1  1  4  7
A2  2  5  8
A3  3  6  9
, , C2
   B1 B2 B3
A1 10 13 16
A2 11 14 17
A3 12 15 18
, , C3
   B1 B2 B3
A1 19 22 25
A2 20 23 26
A3 21 24 27
, , C4
   B1 B2 B3
A1 28 31 34
A2 29 32 35
A3 30 33 36

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • R语言Legend函数深入详解

    R语言Legend函数深入详解

    这篇文章主要介绍了R语言Legend函数深入详解,图文介绍的很详细,有感兴趣的同学可以研究下
    2021-03-03
  • Rstudio 修改工作路径(三种方法总结)

    Rstudio 修改工作路径(三种方法总结)

    这篇文章主要介绍了Rstudio 修改工作路径(三种方法总结),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言学习之火山图的绘制详解

    R语言学习之火山图的绘制详解

    火山图作为散点图的一种,将统计测试中的统计显著性量度和变化幅度相结合,从而能够帮助快速直观地识别那些变化幅度较大且具有统计学意义的数据点。本文将为大家详细介绍如何利用R语言绘制火山图,需要的可以参考一下
    2022-03-03
  • R语言可视化开发forestplot根据分组设置不同颜色

    R语言可视化开发forestplot根据分组设置不同颜色

    这篇文章主要为大家介绍了R语言可视化开发使用forestplot根据分组设置不同颜色的实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • R语言编程数学分析重读微积分理解极限算法

    R语言编程数学分析重读微积分理解极限算法

    这篇文章主要为大家介绍了R语言编程重读微积分数学分析理解极限算法的详细过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • R语言 data.frame()命令的使用说明

    R语言 data.frame()命令的使用说明

    这篇文章主要介绍了R语言 data.frame()命令的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言中cbind、rbind和merge函数的使用与区别

    R语言中cbind、rbind和merge函数的使用与区别

    这篇文章主要介绍了R语言中cbind、rbind和merge函数的使用与区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • R包ggtreeExtra绘制进化树

    R包ggtreeExtra绘制进化树

    这篇文章主要为大家介绍了R包ggtreeExtra绘制进化树,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • R语言绘图样式设置操作(符号,线条,颜色,文本属性)

    R语言绘图样式设置操作(符号,线条,颜色,文本属性)

    这篇文章主要介绍了R语言绘图样式设置操作(符号,线条,颜色,文本属性),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • R语言向量下标和子集的使用

    R语言向量下标和子集的使用

    本文主要介绍了R语言向量下标和子集的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论