《R语言入门与实践》第四章:R 的记号体系
这一章节将如何对 R 对象中的值进行选取,R 的符号规则有两种方式进行查询:
第一种记号体系:索引
查询索引语法:
deck[ , ](使用中括号)
其中[ , ] 为索引,其中含有两个索引参数,用 "," 分隔
在 R 中,有六种方式创建并使用索引,分别为:
- 正整数索引
- 负整数索引
- 零
- 空格
- 逻辑值
- 名称
第二种记号体系: $ 和 [[]]
构建索引
正整数索引
格式: 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
功能:
用于提取所选数据框的列的名称
[[]]
问题缘由:
- 列表中的元素没有名称,可以使用 [[]] 和数字,来得到相应的元素.
- 通过 [] 得到的会是一个新的列表对象,无法进行 sum 等计算
格式:
lst[[1]]
功能:
返回 lst 这个列表中第一个对象中的值
注意的要点:
与 lst[1] 不同, lst[[1]] 返回的是数据元素, lst[1] 返回一个新的数据对象.
《R语言入门与实践》第四章:R 的记号体系的更多相关文章
- 《R语言入门与实践》第一章:R基础
前言 本章介绍了 R 语言的基础知识 界面: 使用命令 “ R “进行命令行的实时编译 对象 定义: 用于储存数据的,设定一个名称 格式: a <- 1:6 命名规则: 规则1:不能以数字开头规 ...
- 《R语言入门与实践》第二章:R包和帮助文档
这一章讲了两方面的内容,如何使用 R 包和帮助文档. R包 下载 R 包 命令: install.packages("<nameofpackage>") R 会话中启用 ...
- #Python编程从入门到实践#第四章笔记
#Python编程从入门到实践#第四章笔记 操作列表 1.遍历列表 使用for循环,遍历values列表 for value in values: print(value) 2.数字列表 使 ...
- 《R语言实战》读书笔记--第一章 R语言介绍
1.典型的数据分析过程可以总结为一下图形: 注意,在模型建立和验证的过程中,可能需要重新进行数据清理和模型建立. 2.R语言一般用 <- 作为赋值运算符,一般不用 = ,原因待考证.用-> ...
- python编程:从入门到实践----第四章>操作列表
一.遍历整个列表 1-1.假设有一个魔术师名单,需要将其中每个魔术师的名字都打印出来. # 用for循环来打印魔术师名单中的名字 magicians=['alice','david','carolin ...
- 《R语言入门与实践》第七章:程序
前言 这一章讲了程序设计的相关知识,经过了: 算法分析 编码 得到最后的程序. if 语句 格式:if (this) {that} else if { another} else { another ...
- 《R语言入门与实践》第六章:R 的环境系统
前言 这一章在对象的基础之上,讲解了对象所处的环境,进一步讲了环境对对象的作用,以及如何使用环境.结构如下: 环境的定义和操作 环境的规则 制作闭包 环境 R 环境的定义 在 R 中,每一个数据对象都 ...
- 《R语言入门与实践》第五章:对象改值
本章将了如何对一个数据对象中的数据进行改动,分为以下方法: 直接改值 条件取值然后改值 直接改值 单个改值:vec[1] <- 1000多个改值: vec[c(1,3,5)] <- 100 ...
- 《R语言入门与实践》第三章:R 对象
在这一章,包含的内容有: R 的数据类型 属性 类(特殊的属性) Ruby 的数据结构 R 数据类型 R 可以识别六种类型的数据类型,分别是: double integer character log ...
随机推荐
- Vue父子组件及非父子组件如何通信
1.父组件传递数据给子组件 父组件数据如何传递给子组件呢?可以通过props属性来实现 父组件: 子组件通过props来接收数据: 方式1: 方式2 : 方式3: 这样呢,就实现了父组件向子组件传递数 ...
- program与module
program,各方面与module都类似,其中声明的变量在program中都可见, 生命周期也是static类型的, program的结束,也是需要等待其中的所有initial块都执行结束. 与mo ...
- js 字符串的replace() 方法和实现replaceAll() 方法
一.js中字符串的替换使用replace() 方法,但它只替换第一个匹配子串.如下例: <script type="text/javascript"> var sour ...
- 初学javascript《一》break和continue的标签问题
<script>var iNum = 0;outermost:for (var i=0; i<3; i++) { for (var j=0; j<3; j++) { ...
- 认识volatile的工作原理
前言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”.可见性的意思是当 ...
- Got error -1 from storage engine
有个小朋友修复从库,但是start slave 后,报错信息如下 Could not execute Write_rows event on table hsfdssdb.mf_textannounc ...
- Apache Maven 3.6.1配置安装
Apache Maven 3.6.1配置安装 一.下载 maven下载地址:http://maven.apache.org/download.cgi 二.安装 1,解压即可用 2,环境变量配置 MAV ...
- python:循环定义、赋值多个变量
exec函数,可以循环定义.赋值多个变量 exec ("temp%s=1"%1) 这段代码的意思是,让exec执行temp1=1.字符串里面的%s由‘1’代替了. 我们在外面再 ...
- shell实现大批量word转码然后分析相关字段
需求 需要从服务器中的所有附件(2013-2019) 共60G查找相关字段 在linux上面直接打开doc等是乱码的 思路 先全部附件转码为txt, 然后用grep遍历查找字段实现 转码shell # ...
- 回车\r与换行\n
在计算机出现之前,有一种电传机械打字机,每秒可以打10个字符.但是有一个问题,就是打满一行后,需要进行换行,换行是需要0.2秒.如果这时有字符传入,就会丢失两个字符.为了解决这个问题,便定义了两个字符 ...