1. 向量

  • 向量从数据结构上看就是一个线性表,可以看成一个数组。
  • c()
  • R 语言中的"下标"不代表偏移量,而代表第几个,也就是说是从 1 开始的!
  • seq函数可以生成有间隙的等差数列
  • rep函数可以生成相同数字的数列
  • 向量中常会用到 NA 和 NULL ,这里介绍一下这两个词语与区别:
  • NA 代表的是"缺失",NULL 代表的是"不存在"。
  • NA 缺失就像占位符,代表这里没有一个值,但位置存在。
  • NULL 代表的就是数据不存在。
  • 可以直接进行计算

2. 列表

  • 列表是 R 语言的对象集合,可以用来保存不同类型的数据,可以是数字、字符串、向量、另一个列表等,当然还可以包含矩阵和函数。
     
  • R 语言创建列表使用 list()
  • 可以使用 names()
  • 访问列表
  • 通过数字访问 a[1],返回的还是 list,想要获取里面具体的值需要 a[[1]] 来访问
  • 通过名称访问 a$name,name相当于名称,也类似与变量,得到的结果与 a[[1]] 类似,直接是具体的值,其结果与 a[1]$name 也是一致的
  • 通过 mode() 函数获取数据类型,通过 length() 函数获取列表的长度
  • 添加、删除、更新操作
  • 添加:直接通过索引 a[4] = 2
  • 删除:直接赋值操作 a[4] = NULL
  • 更新:直接赋值操作 a[3] = 1
  • 合并列表:可以使用 c()
  • 列表转换为向量:可以使用 unlist() 函数,将列表转换为向量

3. 数据框

  • 数据框(Data frame)可以理解成我们常说的"表格"。数据框是 R 语言的数据结构,是特殊的二维列表。
  • 数据框每一列都有一个唯一的列名,长度都是相等的,同一列的数据类型需要一致,不同列的数据类型可以不一样。
  • R 语言数据框使用 data.frame() 函数来创建,里面通过 c() 函数来构建每一列
  • 数据框是 list 的一种,因此用 mode() 函数查看的话,返回的是 list
  • 扩展数据框:table$name = c("alex", "tom", "lucy")
  • 可以使用 cbind() 函数将多个向量合成一个数据框
  • 如果要对两个数据框进行合并可以使用 rbind() 函数