《R语言入门与实践》第三章:R 对象
在这一章,包含的内容有:
- R 的数据类型
- 属性
- 类(特殊的属性)
- Ruby 的数据结构
R 数据类型
R 可以识别六种类型的数据类型,分别是:
- double
- integer
- character
- logical
- complex(负数)
- raw(机器代码)
integer 整型
格式: 在数字后加“L”,比如:-1L, 2L, 4L..
complex 复数
格式:将某个数字与复数相加,比如: 1 + 1i, 1+2i ...
raw 数据的原始子节
格式: raw(n)
功能:生成长度为 n 的空原始类型向量
R 属性
定义: 对象的 metadata, 将与这个对象相关的信息以一种便捷的形式存起来并且附加给该对象.
一个原子型向量具有三种属性:
- 名称: name
- 维度: dim
- 类: class
name 属性
定义:给向量中的每一个值对应的名称
语法:辅助函数 names
例如:names(die) <- ("one", "two", "three", "four", "five", "six")
dim 属性
定义:
将向量变为一个 n 维数组.
语法:
方式一:
将 die 向量变为一个 3 为数组,规模为 1x 2 x 3
dim(die) <- c(1,2,3)
方式二:
die <- martrix(die, nrow = 2)
方式三:
和方式一效果类似
die <- array(die, dim = c(1,2,3))
注意:
默认状态下按列进行排列,若要按行排列,则添加 byrow = TRUE 参数.
class 属性 & factor 类
class 属性:
定义:表示整个数据的类型,比如用于表示日期和时间,矩阵等等.
factor 因子:
定义: 一种特殊的 class
- 向 factor 函数传递一个向量,生成因子
- 因子为一个整形向量
- 该向量中含有 levels 属性(值为标签)和 class 属性(值为 factor)
数据对象


在 R 语言中,有5中常见的数据结构,分别是:
- 原子型向量
- 矩阵
- 列表
- 数据框
- 数组
列表
定义:用于将不同数据类型的数据储存在一起
格式:
card <- list("ace", "heart", 1)
数据框
定义:是列表的二维形式
语法:列与列之间数据类型不同,但同列的数据类型相同
格式:
df <- data.frame(face = c("ace", "two", "six"), suit = c("clubs", "clubs", "clubs"), value = c(1, 2, 3))
《R语言入门与实践》第三章:R 对象的更多相关文章
- 《R语言入门与实践》第一章:R基础
前言 本章介绍了 R 语言的基础知识 界面: 使用命令 “ R “进行命令行的实时编译 对象 定义: 用于储存数据的,设定一个名称 格式: a <- 1:6 命名规则: 规则1:不能以数字开头规 ...
- 《R语言入门与实践》第二章:R包和帮助文档
这一章讲了两方面的内容,如何使用 R 包和帮助文档. R包 下载 R 包 命令: install.packages("<nameofpackage>") R 会话中启用 ...
- 《R语言实战》读书笔记--第一章 R语言介绍
1.典型的数据分析过程可以总结为一下图形: 注意,在模型建立和验证的过程中,可能需要重新进行数据清理和模型建立. 2.R语言一般用 <- 作为赋值运算符,一般不用 = ,原因待考证.用-> ...
- 《R语言入门与实践》第六章:R 的环境系统
前言 这一章在对象的基础之上,讲解了对象所处的环境,进一步讲了环境对对象的作用,以及如何使用环境.结构如下: 环境的定义和操作 环境的规则 制作闭包 环境 R 环境的定义 在 R 中,每一个数据对象都 ...
- 《R语言入门与实践》第七章:程序
前言 这一章讲了程序设计的相关知识,经过了: 算法分析 编码 得到最后的程序. if 语句 格式:if (this) {that} else if { another} else { another ...
- 《R语言入门与实践》第五章:对象改值
本章将了如何对一个数据对象中的数据进行改动,分为以下方法: 直接改值 条件取值然后改值 直接改值 单个改值:vec[1] <- 1000多个改值: vec[c(1,3,5)] <- 100 ...
- 《R语言入门与实践》第四章:R 的记号体系
这一章节将如何对 R 对象中的值进行选取,R 的符号规则有两种方式进行查询: 第一种记号体系:索引查询索引语法:deck[ , ](使用中括号)其中[ , ] 为索引,其中含有两个索引参数,用 &qu ...
- Python:从入门到实践--第三章--列表简介--练习
#1.将一些朋友的姓名存储在一个列表中,并将其命名为friends.依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来. #2.继续使用1中的列表,为每人打印一条消息,每条消息包含相同的问候语 ...
- python 从入门到实践 第三章
在第3章,你将学习如何在被称为列表的变量中存储信息集,以及如何通过遍历列表来操作其中的信息 写注释 # 代码越长 标识好代码的重要性 越来越重要要求习惯:在代码中编写清晰,简洁的注释开始研究更复杂的主 ...
随机推荐
- OI养老专题03:让坏人出列的约瑟夫问题
问题是这样的:一共有2n个人,其中有n个好人,n个坏人.好人的编号是1~n,坏人的编号是n+1~2n.要求你求出最小的m(报数到m的人出局),让前n个出局的人都是坏人. 似乎除了暴力,我们想不出其它的 ...
- G面经Prepare: Longest All One Substring
give a string, all 1 or 0, we can flip a 0 to 1, find the longest 1 substring after the flipping 这是一 ...
- asyncio之Coroutines,Tasks and Future
asyncio之Coroutines,Tasks and Future Coroutines and Tasks属于High-level APIs,也就是高级层的api. 本节概述用于协程和任务的高级 ...
- JQ得到当前登录城市和天气
$(function () { findWeather(); }); function findWeather() { var cityUrl = 'http://int.dpool.sina.com ...
- webdriver保存验证码截图
element = wait.until ( EC.visibility_of_element_located((By.CSS_SELECTOR,'.quc-main .quc-field-captc ...
- IAR Embedded Workbench for ARM 8.22.1 基础使用教程
面向尚未熟悉且初次使用该软件的新手(比如我...) 1.建立新工作区 File-->>New Workspace 2.建立新项目 1) Project-->>Create Ne ...
- 小程序如何封装自定义组件(Toast)
1.创建和pages 同级的component目录新建一个myToast目录 例如: 2.myToast.wxml文件内容: <!-- 自定义toast组件 --> <!-- nam ...
- python模块部分----模块、包、常用模块
0.来源:https://www.cnblogs.com/jin-xin/articles/9987155.html 1.导入模块 1.1模块就是一个python文件,模块名是文件名 1.2导入模块的 ...
- keras用法
关于Keras的“层”(Layer) 所有的Keras层对象都有如下方法: layer.get_weights():返回层的权重(numpy array) layer.set_weights(weig ...
- python numpy 科学计算通用函数汇总
import numpy as np #一元函数 #绝对值计算 a = -1b = abs(a)print(b)输出: 1 #开平方计算 a = 4b = np.sqrt(a)print(b)输出: ...