在R中,基本的数据结构有:向量,矩阵,数组,数据框,列表,因子,函数等。 向量:一系列同类型的有序元素构成。

向量是一维结构。 向量是R最简单的数据结构,在R中没有标量。

标量被看成1个元素的向量。 向量元素必须是同类型的。

由于向量是最简单的数据结构,因此本章中以向量为例子来解释各个概念。

矩阵:二维的同类型元素的集合。

矩阵由函数matrix创建。 矩阵需要输入行数,列数。 矩阵是二维的,引用元素可通过双下标做索引。

矩阵在物理实现时,是向量附加行列数属性来实现的,因此也可以通过向量的方式引用其元素。

1、结构类型是指在R语言中,自带的对象的数据结构的类型。主要有 向量、矩阵、数组、数据框、列表等。

2、元素类型是指在一个对象中,其元素所属类型。主要类型有: 数值型:分为整数型和双精度型(默认)。 字符型:夹在双引号或者单引号之间的字符或字符串。 复数型:形如a+bi形式的复数。 逻辑型:只能取TRUE(T)/FALSE(F)。 函数型:函数对象。 RAW:以二进制形式保存的数据。 缺省值:若某值不可得到(not available)或缺少值(missing value),相关位置可被赋NA值;任何NA的运算结果都为NA。

A<-c(2,4,6)

B<-c(“Lee”,”Jack”)

C<-c(TRUE,FALSE)

A是向量,A有三个元素,A的元素是数值型。 B是向量,B有两个元素,B的元素是字符型。 C是向量,C有两个元素,C的元素是逻辑型。

R中皆对象。 R中所有的对象都有元素类型和长度属性,可通过函数typeof()和length()获取; 数据结构可通过class()获取。 R对象的长度可以随时发生改变,常见包括如下情况:

R语言不能通过对某元素赋NULL值的方式,删除一个元素。

1、除了typeof和length之外,其他class的对象可能还会有其他的属性,可以通过函数attributes()和attr()进行操作,例如: 函数attributes(object)将给出当前对象所具有的所有非基本属性(长度和模式属于基本属性)的一个列表。 函数attr(object,name)可以被用来选取一个指定的属性。

R的数组中,元素的排列顺序是第一下标变化最快,最后下标变化最慢。这在FORTRAN中叫做“ 按列次序”。 属性以列表形式保存,其中所有元素都有名字。

2、dim属性可通过dim()操作:二维或以上的都有dim属性。

1、用下标来访问对象中的元素:下标个数需与对象维数对应。

R的所有对象都可用一个下标来索引,这样就把对象看成广义的“向量”——有顺序的一排元素,这个对象是表明在这个序列中元素的序号。

比如上述x虽然是2维的,但是x[2]也可以,表明第二个元素。 下标可以是负值,这表明就不选这个位置的元素。

> x = array(6:1,2:3)
> x
[,1] [,2] [,3]
[1,] 6 4 2
[2,] 5 3 1
> x[2] #按照存储的顺序访问单个元素
[1] 5
> x[1,2] #通过多个下标访问单个元素
[1] 4
> x[1,] #返回一行
[1] 6 4 2
> x[,1] #返回一列
[1] 6 5

2、生成筛选索引:可以用等维的逻辑向量来选取元素。

如果是矩阵,则需要等维度的逻辑矩阵来选取元素。提取出TRUE位置的元素。结果返回的是一个向量。 若筛选矩阵中有NA值,则此位置处的提取值为NA.

3、若对象有names属性,还可通过names所含的字符串来索引。

若对象是list 或者 data frame类型的,可以用$连接names属性值,来引用对应分量。

注意:向量、矩阵和数组不可通过$来引用。

1、向量 向量是R中最简单的数据结构,其是一系列有序同类型元素的集合。 向量是一维的

2、向量的创建 向量可以用c()函数创建,其元素用逗号分隔,放在c()的参数列表中。 用rep(x,y)函数创建。 用冒号运算符(:)创建向量。 用seq()函数创建向量 by参数需与from to参数匹配 by可以是小数 随机数向量的生成(后面)

向量: 随机数的生成

4、向量的运算 普通运算符+-*/都是元素与元素相+-*/。 循环补齐规则:在对两个向量使用运算符时,若要求这两个向量具有相同的长度,R会自动循环补齐,即重复较短的向量,直到它与另一个向量长度相匹配。 一些函数 all()/any(): 参数中是否“all为TRUE/any为TRUE”。 强筛选函数subset() : 剔除NA值。

函数which():返回向量中元素为TRUE的序列号。

1、矩阵:二维相同类型的元素的组合。 2、矩阵的创建 matrix()函数

标准创建matrix的方法。

可以省略不必要的参数。

可以创建NA矩阵。

3、元素的引用: 下标索引 逻辑向量筛选 名字索引——字符串索引

[注] 向量、矩阵和数组不可用$来引用对象。

4、矩阵的运算 线性代数运算:%*% apply():对矩阵的行(或列)调用函数的函数 apply(m,dimcode,f,fargs) m是目标矩阵 dimcode是维度编号:沿着此维度提取出对象的分量,然后对各分量应用对应的函数。 1代表对每一行应用函数,2代表对每一列应用函数。 f是应用在行或列上的函数。 fargs是f的可选参数集

apply每一次对行或列运用函数f()时得到的结果是列矩阵

矩阵的融合: 按行融合两个矩阵:rbind() 按列融合两个矩阵:cbind()

R语言学习——向量,矩阵的更多相关文章

  1. R语言学习——向量

    以下为在RStudio中输入 #为注释符,其后内容程序不执行 > #向量是用于储存数值型.字符型或者逻辑型数据的一维数组.执行组合功能的函数c()可用来创建向量.示例如下: > a< ...

  2. R语言学习 第四篇:函数和流程控制

    变量用于临时存储数据,而函数用于操作数据,实现代码的重复使用.在R中,函数只是另一种数据类型的变量,可以被分配,操作,甚至把函数作为参数传递给其他函数.分支控制和循环控制,和通用编程语言的风格很相似, ...

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

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

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

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

  5. R 语言学习(二)—— 向量

    1. 入门 将摄氏度转化为华氏度 >> 27*1.8+32 [1] 80.6 [1]:表示数字的向量索引号,在 R 语言中任何一个数字都看作一个向量. 向量化 >> temp ...

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

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

  7. R语言学习2:绘图

    本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...

  8. R语言学习4:函数,流程控制,数据框重塑

    本系列是一个新的系列,在此系列中,我将和大家共同学习R语言.由于我对R语言的了解也甚少,所以本系列更多以一个学习者的视角来完成. 参考教材:<R语言实战>第二版(Robert I.Kaba ...

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

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

随机推荐

  1. docker(三)反正我不喜欢敲命令,daocloud.io管理你的docker,安装远程下载工具aria2 迅雷远程下载 xware

    1.登录daocloud.io 2.寻找合适的镜像 3.查看镜像信息并部署,它给出了一个运行命令,其中有用的只是-V,目录映射,映射了物理服务器的/tddownload到容器的/xware/tddow ...

  2. property 的详细使用方法

    property(fget=None, fset=None, fdel=None, doc=None)  俗话说条条大路通罗马,同样是完成一件事,Python 其实提供了好几个方式供你选择. prop ...

  3. call、apply的应用

    call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方法可以用来 ...

  4. python笔记03:使用字符串

    3.1 基本字符串操作: 所有的标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最小值,取最大值)对于字符串同样有效.但是,请记住:字符串都是不可变的 3.2 字符串格式化:精简版 字符串格式 ...

  5. DevExpress v18.1新版亮点——WPF篇(五)

    用户界面套包DevExpress v18.1日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了DevExpress WPF v18.1 的新功能,快来下载试用新版本!点击下载& ...

  6. DevExpress WPF入门指南:绑定编辑器对话框

    绑定编辑器对话框 每个Smart Tag属性既可以设置也可以绑定.如下图所示,点击绑定按钮打开绑定对话框: 如果属性已经绑定,binging按钮会显示为黄色,绑定的文本会显示在相应的属性行. 绑定So ...

  7. HTTP Header之Content-Type

    HTTP Header之Content-Type   目录 1. HTTP Header 2. 文件请求和接口请求 3. 几种 Content-Type 3.1 application/x-www-f ...

  8. [HTML]去除li前面的小黑点,和ul、LI部分属性

    [转] 对于很多人用div来做网站时,总会用到,但在显示效果时前面总是会有一个小黑点,这个令很多人头痛,但又找不到要源,其它我们可以用以下方法来清除.[HTML]去除li前面的小黑点,和ul.LI部分 ...

  9. jQuery Flipping Gallery 特效翻转画廊

    在线实例 简单配置 翻转方向 鼠标滚动 自动播放 绑定事件 使用方法 <div class="main"> <div class="page_conta ...

  10. python perlin noise

    python 利用 noise 生成纹理. # -*- coding: utf-8 -*- """ Created on Mon Apr 23 20:04:41 2018 ...