数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
R 中的数据类型
(1)数值型,数值可以用于直接计算,加减乘除;(2)字符串型,可以进行连接,转换,提取等;(3)逻辑型,真或者假;(4)日期型等;
一般编程数据结构
普通数据结构:向量,标量,列表,数组,多为数组
特殊数据结构:perl 中的哈希,python 中的字典以及 C 语言中的指针等
R 对象
对象:object,它是指可以赋值给变量的任何事物,包括常量、数据结构、函数,甚至图形。对象都拥有某种模式,描述了此对象是如何存储的,以及某个类。
1、向量(vector)
R 中最重要的一个概念,它是构成其他数据结构的基础。R 中的向量概念与数学中向量是不同的,类似于数学上的集合的概念,由一个或多个元素所构成。
向量其实是用于存储数值型、字符型或逻辑型数据的一维数组。用函数 c 来创建向量。
x <- c(1,2,3,4,5) #元素之间用逗号隔开
y <- c("one","two","three") #字符串必须加引号,不加引号,就会当作内部对象处理
z <- c(TRUE,T,F) #逻辑型向量不需要加引号,不能使用首字母大写的形式
快速形成向量
c(1:100) #生成1到100的等差序列
seq(from=1, to=100, by=2) #by 代表等差值
seq(from=1, to=100, length.out=10) #输出1-100的10个数值
生成重复序列
向量索引
(1)正(负)整数索引;(2)逻辑向量索引;(3)名称索引。
正(负)整数索引
逻辑向量索引
元素名称访问
向量的增加和删除
2、向量运算
向量简单运算
向量之间运算
长向量必须是短向量的倍数才能进行运算!
%%:求余;%/%:整除
向量逻辑运算
%in%包含运算符,逻辑运算比较时候不能用一个等号,而应该用两个等号!
note:
R语言通常用符号”<-”代替其它语言里的”=”来作赋值符号。因为前者敲起来比等号要麻烦,且大部分情况下两者是等价的,所以通常就愉懒依旧用”=”来赋值。但要切记两者在某些时候是有区别的。字面上的解释,可以认为”<-”是赋值,”=”是传值。在函数调用中,func(x=1) 与 func(x<-1)是有区别的,前者调用完后变量x不会被保留,而后者会在工作区里保留变量x=1。再如length(x=seq(1,10))计算完成后x不会被保留,而length(x<-seq(1,10))计算完后会在工作区里发现x这个变量。
向量运算函数
统计函数
数据整体处理,返回一个值!