这一章节将如何对 R 对象中的值进行选取,R 的符号规则有两种方式进行查询:

第一种记号体系:索引
查询索引语法:
deck[ , ](使用中括号)
其中[ , ] 为索引,其中含有两个索引参数,用 "," 分隔

在 R 中,有六种方式创建并使用索引,分别为:

  1. 正整数索引
  2. 负整数索引
  3. 空格
  4. 逻辑值
  5. 名称

第二种记号体系: $ 和 [[]]

构建索引

正整数索引

格式: deck[1, c(1,2,3)]
语法:
索引从 1 开始

负整数索引

格式:deck[-(2:52), 1:3]
功能:返回除了符号后行元素外所有行元素
语法:
同一个索引参数不能同时使用正整数和负整数

零索引

格式: deck[0, 0]
功能:返回一个空的对象

空格索引:

格式:deck[1, ]
功能:提取该索引位置代表维度的所有元素

逻辑值索引

格式:deck[1, c(TRUE, TRUE, FALSE)]
功能:构建一个含有逻辑值索引(一个逻辑值向量),提取其中为 TRUE 的元素
语法:逻辑值向量与原向量的长度相同

名称索引

格式: deck[1, c("face", "suit", "value")]
功能:提取具有匹配名称属性的对象
实用:由于数据框中的列必须有名称,因此常用于数据框中提取对象

$ 和 [[]]

$ 和 [[]] 可用于列表和数据框,提取其中的数据元素,而不是数据对象.

$

格式:

deck$value

功能:

用于提取所选数据框的列的名称

[[]]

问题缘由:

  1. 列表中的元素没有名称,可以使用 [[]] 和数字,来得到相应的元素.
  2. 通过 [] 得到的会是一个新的列表对象,无法进行 sum 等计算

格式:

lst[[1]]

功能:

返回 lst 这个列表中第一个对象中的值

注意的要点:

与 lst[1] 不同, lst[[1]] 返回的是数据元素, lst[1] 返回一个新的数据对象.

《R语言入门与实践》第四章:R 的记号体系的更多相关文章

  1. 《R语言入门与实践》第一章:R基础

    前言 本章介绍了 R 语言的基础知识 界面: 使用命令 “ R “进行命令行的实时编译 对象 定义: 用于储存数据的,设定一个名称 格式: a <- 1:6 命名规则: 规则1:不能以数字开头规 ...

  2. 《R语言入门与实践》第二章:R包和帮助文档

    这一章讲了两方面的内容,如何使用 R 包和帮助文档. R包 下载 R 包 命令: install.packages("<nameofpackage>") R 会话中启用 ...

  3. #Python编程从入门到实践#第四章笔记

    #Python编程从入门到实践#第四章笔记   操作列表 ​​​1.遍历列表 使用for循环,遍历values列表 for value in values: print(value) 2.数字列表 使 ...

  4. 《R语言实战》读书笔记--第一章 R语言介绍

    1.典型的数据分析过程可以总结为一下图形: 注意,在模型建立和验证的过程中,可能需要重新进行数据清理和模型建立. 2.R语言一般用 <- 作为赋值运算符,一般不用 = ,原因待考证.用-> ...

  5. python编程:从入门到实践----第四章>操作列表

    一.遍历整个列表 1-1.假设有一个魔术师名单,需要将其中每个魔术师的名字都打印出来. # 用for循环来打印魔术师名单中的名字 magicians=['alice','david','carolin ...

  6. 《R语言入门与实践》第七章:程序

    前言 这一章讲了程序设计的相关知识,经过了: 算法分析 编码 得到最后的程序. if 语句 格式:if (this) {that} else if { another} else { another ...

  7. 《R语言入门与实践》第六章:R 的环境系统

    前言 这一章在对象的基础之上,讲解了对象所处的环境,进一步讲了环境对对象的作用,以及如何使用环境.结构如下: 环境的定义和操作 环境的规则 制作闭包 环境 R 环境的定义 在 R 中,每一个数据对象都 ...

  8. 《R语言入门与实践》第五章:对象改值

    本章将了如何对一个数据对象中的数据进行改动,分为以下方法: 直接改值 条件取值然后改值 直接改值 单个改值:vec[1] <- 1000多个改值: vec[c(1,3,5)] <- 100 ...

  9. 《R语言入门与实践》第三章:R 对象

    在这一章,包含的内容有: R 的数据类型 属性 类(特殊的属性) Ruby 的数据结构 R 数据类型 R 可以识别六种类型的数据类型,分别是: double integer character log ...

随机推荐

  1. Vue父子组件及非父子组件如何通信

    1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: 子组件通过props来接收数据: 方式1: 方式2 : 方式3: 这样呢,就实现了父组件向子组件传递数 ...

  2. program与module

    program,各方面与module都类似,其中声明的变量在program中都可见, 生命周期也是static类型的, program的结束,也是需要等待其中的所有initial块都执行结束. 与mo ...

  3. js 字符串的replace() 方法和实现replaceAll() 方法

    一.js中字符串的替换使用replace() 方法,但它只替换第一个匹配子串.如下例: <script type="text/javascript"> var sour ...

  4. 初学javascript《一》break和continue的标签问题

    <script>var iNum = 0;outermost:for (var i=0; i<3; i++) {   for (var j=0; j<3; j++) {     ...

  5. 认识volatile的工作原理

    前言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”.可见性的意思是当 ...

  6. Got error -1 from storage engine

    有个小朋友修复从库,但是start slave 后,报错信息如下 Could not execute Write_rows event on table hsfdssdb.mf_textannounc ...

  7. Apache Maven 3.6.1配置安装

    Apache Maven 3.6.1配置安装 一.下载 maven下载地址:http://maven.apache.org/download.cgi 二.安装 1,解压即可用 2,环境变量配置 MAV ...

  8. python:循环定义、赋值多个变量

    exec函数,可以循环定义.赋值多个变量 exec ("temp%s=1"%1)   这段代码的意思是,让exec执行temp1=1.字符串里面的%s由‘1’代替了. 我们在外面再 ...

  9. shell实现大批量word转码然后分析相关字段

    需求 需要从服务器中的所有附件(2013-2019) 共60G查找相关字段 在linux上面直接打开doc等是乱码的 思路 先全部附件转码为txt, 然后用grep遍历查找字段实现 转码shell # ...

  10. 回车\r与换行\n

    在计算机出现之前,有一种电传机械打字机,每秒可以打10个字符.但是有一个问题,就是打满一行后,需要进行换行,换行是需要0.2秒.如果这时有字符传入,就会丢失两个字符.为了解决这个问题,便定义了两个字符 ...