
一、数据结构1. 标量单个数值 / 字符 / 逻辑值TRUE, FALSE也即只含一个元素的向量。2. 向量类型相同数值 / 字符 / 逻辑值的多个元素的组合也即一维数组。利用函数c()构建向量通过索引访问向量中的元素。 v - c(1,2,3,4) v [1] 1 2 3 4 v[1] [1] 1 v[c(1,2)] [1] 1 2 v[1:3] [1] 1 2 33. 矩阵要求元素类型相同也即二维数组。使用函数 matrix() 创建矩阵。 m - matrix( data c(1,2,3,4), nrow 2, ncol 2, byrow TRUE, dimnameslist(c(r1,r2),c(c1,c2)) ) m c1 c2 r1 1 2 r2 3 4 m[1,2] [1] 2 m[1,] c1 c2 1 24. 数组元素类型相同的维度可以 2 的矩阵。使用函数 array() 构造数组。 a - array( data 1:6, dim c(2,3), dimnames list(c(a1,a2),c(b1,b2,b3)) ) a b1 b2 b3 a1 1 3 5 a2 2 4 6 a[1,3] [1] 5 a[,2] a1 a2 3 45. 数据框用于存储表格数据。每列表示一个变量每行代表一条观测记录。每一列的数据类型可以不同但长度必须相同。使用函数 data.frame() 创建数据框。 id - c(1,2,3) name - c(a,b,c) df - data.frame(id,name) df id name 1 1 a 2 2 b 3 3 c df[3,2] [1] c df[,2] [1] a b c df$name [1] a b c6. 列表任意数据结构的任意组合。使用函数 list() 构建列表。 num - 3 name - c(a,b,c) l - list(num,name) l [[1]] [1] 3 [[2]] [1] a b c l[1] [[1]] [1] 3 l[2] [[1]] [1] a b c7. 常用数据结构对比数据结构维度元素类型要求创建函数典型用途向量一维类型相同数值/字符/逻辑值c()存储同类型数据序列如数值向量、字符向量矩阵二维元素类型相同matrix()数学运算、图像处理、二维数据存储数据框二维行×列每列类型可不同但长度必须相同data.frame()存储表格数据统计分析数据清洗列表一维但元素可为任意结构无要求可包含任意类型list()存储复杂、异构数据函数返回多个结果二. 常用符号1.-— 赋值运算符在 RStudio 中的快捷键为Alt -。-是 R 语言中最常用的赋值符号用于将右边的值赋给左边的变量。虽然 R 也支持用赋值但-是 R 社区推荐的标准写法因为在函数参数中有其他含义参数传递容易混淆-更清晰地表达了赋值的方向性id - 101 # 将 101 赋值给 id name - Alice # 将字符串赋值给 name2.%%— 管道运算符在 RStudio 中的快捷键为Ctrl Shift M。%%来自magrittr包也被dplyr/tidyverse自动加载它的作用是将左边的结果作为右边函数的第一个参数传入实现链式调用。补充从 R 4.1.0 起R 内置了功能类似的原生管道符|。library(dplyr) #不用管道 — 嵌套写法可读性差 filter(select(demographics, subjid, age), age 18) #使用管道 — 链式写法清晰易读 demographics %% select(subjid, age) %% filter(age 18)