R语言中的数据结构包括标量、向量、矩阵、数组、列表以及数据框

目录

1 向量

向量是用于存储单一数据类型(数值、字符、逻辑值)的一维数组,示例如下:

a <- c(1,2,3,4,5) #数值
mode(a) b <- c('a','b','c','d') #字符
mode(b) c <- c(T,F,F,T) #逻辑
mode(c)

值得注意的是R的标量是向量的特例,是单一的元素的向量:

a <- 1
b <- 'c'
c <- T

虽然向量必须具有单一的数据类型,但是也存在着如下的情况:

a <- c('a',2,3) #数值转换为字符
mode(a) b <- c(1,T,1,0) #TRUE转换为1,FALSE转换为0
mode(b)

R中内置了seq函数以快速生成有序的向量:

seq(from = 1,to = 50,by = 10) #缩写:seq(1,50,10)
seq(length = 10,from = 1,to = 40)

内置了rep函数以快速生成循环向量:

rep(1,10)
rep(c(1,5,6),3)
rep(1:4,each = 3)

内置了字母序列letters:

letters[2:15]

对于已经创建的向量,该如何操作向量?下面将演示几个比较常见的向量操作示例:

a <- c(1,4,6,8,2,3,5,6)

# 1.给向量命名
names(a) <- c('x1','x2','x3','x4','x5','x6','x7','x8') # 2.提取数值4
a[2] #向量的元素下标取值是以1开始
a[[2]] #不含元素名
a[-2] #提取除了元素位置2的所有元素 # 3.提取数值4&8
a[c(2,4)] #提取多个元素使用元素下标向量 # 4.提取前4个元素
a[1:4] #提取连续的位置的元素 # 5.提取数值大于4的元素
a[a>4] #a>4:逻辑向量 # 6.向量的添加
b <- c(a,x9 = 5) #x9为元素名
b <- append(b,0,after = 4) #after确定添加在元素位置4后
names(b) <- c('x1','x2','x3','x4','x5','x6','x7','x8','x9','x10')
c <- c(a,b) #合并向量 # 7.向量排序
order(a) #输出排序后的各个向量位置
sort(a) #输出排序后的结果,等价于:a[order(a)] # 8.which函数:返回元素坐标
which(a==4)
which(a>5) #等价于:a>5
which.max(a)
which.min(a)

最后将演示下R中的向量比较与运算,示例如下:

# 1.向量的比较
a <- runif(5,1,20)
b <- rnorm(5)
a>b #元素逐一比较
identical(a,b) #向量整体比较
all.equal(a,b) a <- 1:3
b <- 1:5
a>b #长度不一致无法比较 # 2.向量的运算
a <- runif(5,1,20)
b <- rnorm(5)
a+b a <- 1:3
b <- 1:5
a-b #长度不一致,a循环补充

R的数据结构的更多相关文章

  1. 【R】数据结构

    之前一阵子,在EDX上学习了R语言的一门基础课程,这里做个总结.这门课程主要侧重于R的数据结构的介绍,当然也介绍了它的基本的绘图手段. 工作空间相关 ls() ## character(0) rm(a ...

  2. R语言-数据结构

    1.向量 向量是用来存储数值型.字符型或逻辑性数据的一维数组,用函数c()创建向量 a <- c(1,2,5,6,4) b <- c("one","two&q ...

  3. R语言数据结构

    5. 数据结构 5.1 数据结构简介 (1)向量 一个向量的所有元素必须有相同的类型(模式) (2)列表 列表可以非同质的 列表可按位置索引:lst[[2]] 抽取子列表:lst[c(2,5)] 列表 ...

  4. 第二章 R语言数据结构

    R语言存储数据的结构包括:标量.向量.矩阵.数组.数据框和列表:可以处理的数据类型包括:数值型.字符型.逻辑型.复数型和原生型. 数据结构 向量 向量是用来存储数值型.字符型或逻辑型数据的一维数组.单 ...

  5. Advanced R之数据结构

    看了几本R语言语法相关的书籍,感觉都不怎么好,在实际使用过程中仍然遇到很多难以理解的问题,后来看了Hadley Wickham的Advanced R,好多问题迎刃而解,今天重温了该书的第一章即数据结构 ...

  6. R语言数据结构二

    上节我们讲到R语言中的基本数据类型,包括数值型,复数型,字符型,逻辑型以及对应的操作和不同数值类型之间的转换.众所周知,R语言的优势在于进行数据挖掘,大数据处理等方面,因此单个的数据并不能满足我们的需 ...

  7. R语言数据结构一

    R是面向对象的语言,它跟其他编程语言的数据类型差不多,有四种,分别为:数值型,复数型,逻辑性和字符型 数值型:即数字,分为整数型和双精度型.数字可以用科学技术法表示,形式为Xe+m,意为x乘10的m次 ...

  8. (数据科学学习手札01)Python与R基本数据结构之异同

    Python 1.列表(list) list1 = [i for i in range(10)] list1[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 特点:可遍历,可索引,可切片 ...

  9. R的数据结构--数组

    数组:可以认为数组是矩阵的扩展,它将矩阵扩展到2维以上.如果给定的数组是1维的则相当于向量,2维的相当于矩阵. R语言中的数组元素的类型也是单一的,可以是数值型,逻辑型,字符型或复数型 参数解释 ar ...

随机推荐

  1. Window窗口布局 --- DecorView浅析

    开发中,通常都是在onCreate()中调用setContentView(R.layout.custom_layout)来实现想要的页面布局,我们知道,页面都是依附在窗口之上的,而DecorView即 ...

  2. Redis简单集群配置

    参考链接为:http://blog.csdn.net/u014230881/article/details/71123494 比较系统学习和熟练使用Redis命令可参考该教程:http://www.r ...

  3. jquery mobile各类组件刷新方法

      1.Combobox or select dropdowns var myselect = $("#sCountry"); myselect[0].selectedIndex ...

  4. .NET完全手动搭建三层B/S架构

    简介:三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(WebUI).业务逻辑层(BusinessLogicLayer).数据访问层(DataAc ...

  5. ThinkPHP5入门(四)----模板篇

    一.模板访问 1.没有参数传递 $view = new View(); return $view->fetch(); 此时默认访问的模板路径为:[模板文件目录]/当前控制器名(小写+下划线)/当 ...

  6. LWIP network interface 即 LWIP 的 硬件 数据 接口 移植 详解 STM32 以太网数据 到达 的第二站: void ethernetif_input( void * pvParameters )

    根据 上一篇 文章 , ETH  DMA 数据中断 会 发送 一个信号量 ,我使用 全局 搜索 这个信号量 s_xSemaphore 得到 一下 几个 值 根据 这个 分析  我们找到了   数据 的 ...

  7. web性能优化之GZIP压缩

    从服务端优化来说,通过对服务端做压缩配置可以大大减小文本文件的体积,从而使加载文本的速度成倍的加快.目前比较通用的压缩方法是启用gzip压缩.它会把浏览器请求的页面,以及页面中引用的静态资源以压缩包的 ...

  8. Java中23种设计模式(附代码样例)

    一.设计模式分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式.结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式.组 ...

  9. BottomNavigationView的使用

    BottomNavigationView的使用 废话少说, 先看东西 依赖 implementation 'com.android.support:design:26.1.0' 布局 //用这个控件需 ...

  10. Oracle表分区分为四种:范围分区,散列分区,列表分区和复合分区(转载)

    一:范围分区 就是根据数据库表中某一字段的值的范围来划分分区,例如: 1 create table graderecord 2 ( 3 sno varchar2(10), 4 sname varcha ...