• 元素可以保存在多个维度的对象中,数组存储的是多维数据元素,矩阵的是数组的特殊情况,它具有两维。

      • 创建数组的几种方法。

        • 1.

          > m<-c(45,23,66,77,33,44,56,12,78,23)
          > dim(m)<-c(2,5)
          > m
               [,1] [,2] [,3] [,4] [,5]
          [1,]   45   66   33   56   78
          [2,]   23   77   44   12   23

        • 2.

          > m<-matrix(c(45,23,66,77,33,44,56,12,78,23),2,5)
          > m
               [,1] [,2] [,3] [,4] [,5]
          [1,]   45   66   33   56   78
          [2,]   23   77   44   12   23

        • 3.观察上面的结果,发现默认的是首先按照列排列出矩阵的,如何按照行排列呢??

          > m<-matrix(c(45,23,66,77,33,44,56,12,78,23),2,5,byrow=T)
          > m
               [,1] [,2] [,3] [,4] [,5]
          [1,]   45   23   66   77   33
          [2,]   44   56   12   78   23

      • 提取矩阵中的元素

        • > m[2,3]
          [1] 12
          > m[2,-1]#排除第一列
          [1] 56 12 78 23
          > m[-2,1]#排除第二行
          [1] 45

        • 取某列:

> m[,1]
[1] 45 44

        • 取某列,并且看它为矩阵:

> m[,1,drop=F]
     [,1]
[1,]   45
[2,]   44

        • cbind(),rbind()#按照列,行排列
        • 设置行列的名字:

> m<-matrix(c(45,23,66,77,33,44,56,12,78,23),2,5)
> rownames(m)<-c('row1','row2')
> colnames(m)<-c('c1','c2','c3','c4','c5')
> m
     c1 c2 c3 c4 c5
row1 45 66 33 56 78
row2 23 77 44 12 23
> m["row1",]
c1 c2 c3 c4 c5
45 66 33 56 78

    • 数组是矩阵的扩展,它可以扩展到两维以上。(其操作类似于矩阵)

      • > a<-array(1:24,dim=c(4,3,2))
        > a
        , , 1

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

        , , 2

        [,1] [,2] [,3]
        [1,]   13   17   21
        [2,]   14   18   22
        [3,]   15   19   23
        [4,]   16   20   24

        > a[1,3,2]
        [1] 21
        > a[1,-1,2]
        [1] 17 21

R语言学习笔记:矩阵与数组(array)的更多相关文章

  1. Go语言学习笔记八: 数组

    Go语言学习笔记八: 数组 数组地球人都知道.所以只说说Go语言的特殊(奇葩)写法. 我一直在想一个人参与了两种语言的设计,但是最后两种语言的语法差异这么大.这是自己否定自己么,为什么不与之前统一一下 ...

  2. R语言学习笔记:基础知识

    1.数据分析金字塔 2.[文件]-[改变工作目录] 3.[程序包]-[设定CRAN镜像] [程序包]-[安装程序包] 4.向量 c() 例:x=c(2,5,8,3,5,9) 例:x=c(1:100) ...

  3. Fortran学习笔记:03 数组(Array)

    Fortran学习笔记目录 书接上回:Fortran学习笔记:02 流控制语句 数组(Array) 定义数组 一维数组 program main implicit none integer :: i ...

  4. R语言学习笔记(一)

    1.不同的行业对数据集(即表格)的行和列称谓不同,统计学家称其为观测(observation)和变量(variable): 2.R语言存储数据的结构: ①向量:类似于C语言里的一位数组,执行组合功能的 ...

  5. C语言学习笔记之成员数组和指针

    成员数组和指针是我们c语言中一个非常重要的知识点,记得以前在大学时老师一直要我们做这类的练习了,但是最的还是忘记了,今天来恶补一下.     单看这文章的标题,你可能会觉得好像没什么意思.你先别下这个 ...

  6. R语言学习笔记:使用reshape2包实现整合与重构

    R语言中提供了许多用来整合和重塑数据的强大方法. 整合 aggregate 重塑 reshape 在整合数据时,往往将多组观测值替换为根据这些观测计算的描述统计量. 在重塑数据时,则会通过修改数据的结 ...

  7. R语言学习笔记1——R语言中的基本对象

    R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...

  8. R语言学习笔记:向量

    向量是R语言最基本的数据类型. 单个数值(标量)其实没有单独的数据类型,它只不过是只有一个元素的向量. x <- c(1, 2, 4, 9) x <- c(x[1:3], 88, x[4] ...

  9. R语言学习笔记(2)

    第二章:创建数据集 一 R中的数据 二 数据的输入 一R中的数据 数据集:通常是由数据构成的一个矩形数组,行表示观测,列表示变量 R可以处理的数据类型:数值型.字符型.逻辑型.复数型(虚数).原生型( ...

随机推荐

  1. ASP.NET的错误处理机制

    对于一个Web应用程序来说,出错是在所难免的,因此我们应该未雨绸缪,为可能出现的错误提供恰当的处理.事实上,良好的错误处理机制正是衡量Web应用程序好坏的一个重要标准.试想一下,当用户不小心在浏览器输 ...

  2. iOS 非ARC基本内存管理系列 1-引用计数器

    1.什么是内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间.比如回收一些不需要使用的对象.变量 ...

  3. 第一章 搭建Qt开发环境

    第一章 搭建Qt开发环境 1.到http://download.qt-project.org/archive/上下载Qt的源码包.我下载的是qt-everywhere-opensource-src-4 ...

  4. KnockoutJS(3)-绑定语法

    绑定语法大致分为2种: 1. 数据绑定(data-bind syntax) 2. 绑定上下文(Binding Context) 下面针对这2中绑定语法分别介绍一下 1. 绑定上下文(Binding C ...

  5. bower——库管理工具

    bower了解: 随着网页功能的复杂化,各种网页效果的实现,现在单一的一个或两个库文件或许已经不能够满足我们的需要,但当有很多的库文件的时候,手动编辑已经不能胜任,对于引入的库文件而言,往往都是牵一发 ...

  6. asp.net webform javascript postback JSON

    在弹出界面点击按钮触发后台的postback而不是刷新界面(保留已存在的搜索条件) function filterData() { var data = { col: $('#filterPopup' ...

  7. js分割文件快速上传

    <?php header('Content-type:text/html;charset=UTF-8'); ?> <?php if ($_FILES) { if(!file_exis ...

  8. Spark Streaming揭秘 Day5 初步贯通源码

    Spark Streaming揭秘 Day5 初步贯通源码 引子 今天,让我们从Spark Streaming最重要的三个环节出发,让我们通过走读,逐步贯通源码,还记得Day1提到的三个谜团么,让我们 ...

  9. 【信息学奥赛一本通】第三部分_队列 ex2_3produce 产生数

    给出一个整数n(n<=2000)(代码可适用n<=10^31)和k个变换规则(k<=15). 规则:1.1个数字可以变换成另1个数字: 2.规则中右边的数字不能为零. BFS #in ...

  10. fedora -- java多版本切换

    一般java开发时会下载多个版本的SDK,所以需要多个版本中进行切换 1. 设置JAVA_HOME环境变量需要打开.bashrc文件 2. 安装时使用alternatives将不同版本的java连接到 ...