运用R语言进行数据处理。
数据导入、数据结构、数据格式、数值处理、表格处理、日期处理、数字处理、缺失值与唯一值;
数据导入与导出
导入
- 要导入的数据必须存放在getwd()目录下
- Windows下路径要用斜杠/或者双反斜杠\\
| 
 | 
 | 
–
| 
 | 
 | 
导出
| 
 | 
 | 
数据结构
数据整体结构
| 
 | 
 | 
行列名称&重命名
| 
 | 
 | 
–
| 
 | 
 | 
列重新排序
| 
 | 
 | 
长宽格式转换
| 
 | 
 | 
数据行数、唯一值数
| 
 | 
 | 
tidyr包
- gather — 宽数据转为长数据。类似于reshape2包中的melt函数
- spread — 长数据转为宽数据。类似于reshape2包中的cast函数
- unit — 多列合并为一列
- separate — 将一列分离为多列
| 
 | 
 | 
–
| 
 | 
 | 
数据格式
因子化
| 
 | 
 | 
factor与as.factor的区别
as.factor(x) – 只能对整个数据/列进行转换,其中无法插入其他语法
| 
 | 
 | 
数据格式索引
| 格式判断 | 格式转换 | 含义 | 
|---|---|---|
| is.numeric( ) | as.numeric( ) | 数值格式 | 
| is.integer( ) | as.integer( ) | 整数 | 
| is.character( ) | as.character( ) | 字符串格式 | 
| is.factor( ) | as.factor( ) | 因子化 | 
| is.logical( ) | as.logical( ) | 逻辑值 | 
| as.Date(object, “format”) | 日期格式 | |
| is.list( ) | as.list( ) | 列表 | 
| is.data.frame( ) | as.data.frame | 数据框格式 | 
| is.matrix( ) | as.matrix( ) | 矩阵格式 | 
| is.array( ) | as.array( ) | 数据组 | 
| is.vector( ) | as.vector( ) | 向量格式 | 
double:数值型格式(双精度向量:保存更多的有效位数)
| 
 | 
 | 
有效位数&小数位数
| 
 | 
 | 
数据处理
绑定数据框
| 
 | 
 | 
基础函数
funs
| 
 | 
 | 
plyr包
- what :用来切割、计算、合并数据的包
- why  :在一个函数内同时解决spilt-apply-combine的三个步骤- Spilt:把要处理的数据分割成小的片段
- Apply:对每个小片段进行操作
- Combine:把片段重新组合
 
- how :
| 
 | 
 | 
–
| 
 | 
 | 
数值相关
创建
| 
 | 
 | 
替换与返回
| 
 | 
 | 
–
| 
 | 
 | 
复杂替换:正则表达式
拆分
| 
 | 
 | 
合并
| 
 | 
 | 
cat( ) 与 paste( ) 相同与区别
- 区别:
- paste( ) 对应的列单独合并
- cat( ) 合并为一个单元格
>
长度
| 
 | 
 | 
字符规则
| 引用符 | 字符 | 含义 | 
|---|---|---|
| Quotes | \n | newline;换行 | 
| Quotes | \r | carriage return | 
| Quotes | \t | tab;制表符 | 
| Quotes | \b | backspace;空格 | 
| Quotes | \a | alert (bell) | 
| Quotes | \f | form feed | 
| Quotes | \v | vertical tab | 
| Quotes | \ | backslash \ | 
| Quotes | \’ | ASCII apostrophe ‘(单引号) | 
| Quotes | \” | ASCII quotation mark “(双引号) | 
| Quotes | ` | ASCII grave accent (backtick) ` | 
| Quotes | \nnn | character with given octal code (1, 2 or 3 digits) | 
| Quotes | \xnn | character with given hex code (1 or 2 hex digits) | 
| Quotes | \unnnn | Unicode character with given code (1–4 hex digits) | 
| Quotes | \Unnnnnnnn | Unicode character with given code (1–8 hex digits) | 
表格相关
返回指定子集 - 行
| 
 | 
 | 
- vector-向量
>
- 矩阵/数组/数据框
>
- 列表
–
| 
 | 
 | 
返回指定子集 - 列
| 
 | 
 | 
–
| 
 | 
 | 
更改数据/创建新变量
| 
 | 
 | 
概述函数
| 
 | 
 | 
分组与排序
| 
 | 
 | 
–
| 
 | 
 | 
管道函数
| 
 | 
 | 
数据合并
| 
 | 
 | 
数据拆分
| 
 | 
 | 
数据划分
| 
 | 
 | 
日期处理
| 
 | 
 | 
数字处理
| 
 | 
 | 
–
| 
 | 
 | 
缺失值与唯一值
| 
 | 
 | 
–
| 
 | 
 | 
逻辑判断
| 
 | 
 | 
R符号
常见符号
| 名称 | 作用 | 示例 | 
|---|---|---|
| <- | 赋值符号 | |
| / | 转义符 | |
| [ ] | 给定元素所处位置的数值 | a[c(2,4)] | 
| : | 用于表示一个数值序列 | a[2:6] | 
| [i,j] | 选择指定的行与列 | [i,] [,j] [i,j] [,] | 
| “” | 用于目录名、文件名、包 | |
| ‘ ‘ | 引用双引号的文字为文本时出现 | labs(title=’ positon=”fill” ‘) | 
| # | 用于注释。#之后出现的任何文本都会被R解释器忽视; 并且R只能对单行进行注释,故当出现多条命令符,需在每行前面加上# | |
| $ | 选取一个给定数据框中的某个特定变量 | patientIDdata$age | 
| <<- | 特殊赋值符 | |
| [[ ]] | 用于列表中选取对象 | mylist[[“ages”]] mylist[[2]] | 
| ^或** | 求幂 | |
| x% %y | 求余数(x mod y) 5%%2=1 | |
| x% / %y | 整数除法。5%/2%=2 | |
| == | 严格等于(在浮点型数值时慎用==) | 2+2==4 | 
| != | 不等于 | |
| !x | 非x | |
| x∣y | x或y | |
| x&y | x和y | |
| isTRUE(x) | 测试x是否为TRUE | |
| [,-1] [-1,] [,c(-2,-3)]/[,-c(2,3)] | 删除第一列 删除第一行 删除多列,两种表达方式均可 | mydata<-mydata[,-1] mydata<-mydata[,-c(2,3)] | 
| “[“ | 提取谋而对象一部分的函数,后跟序列数n;1表示该对象的第一部分; 2表示该对象的第二部分; | 
R中常见表达式
| 符号 | 作用 | 示例 | 解释 | |
|---|---|---|---|---|
| ~ | 分隔符号 | y~x+z+w | 左边-因变量/响应变量 右边-自变量/解释变量 | |
| + | 分隔预测变量 | |||
| : | 预测变量的交互项 | y~x+z+x:z | ||
| * | 所有可能交互项的表达方式 | y~xzw—y~x+z+w+x:z+x:w+z:w | ||
| ^ | 交互项的某个次数 | y~(x+z+w)^2—y~x+z+w+x:z+x:w+z:w | 交互项最高次为2次 | |
| . | 包含除因变量之外的所有变量 | y~.—y~x+z+w | 当一个数据框包含y,x,z,w这四个变量时 | |
| - | 减号,从等式中移除某个变量 | y~(x+z+w)^2-x:w— y~x+z+w+x:z+z:w | ||
| -1 | 删除截距项 | y~x-1 | 拟合y在x上的回归,并强制直线通过原点 | |
| I() 【大写的i】 | 从算术(而非表示式)的角度来解释括号中的元素 | y~x+I((z+w)^2) | 表示的是x+(z+w)²,而非x+z+w+z:w | |
| function | 可以在表达式中运用的数学函数 | log(y)~x+z+w | ||
| mpg ~ wt \ | cyl | 表示按条件(cyl)绘图; | 即按cyl的水平为【分组条件】分别绘制mpg和wt的关系图 | 
研究设计表达式
| 表达式 | 作用 | 解释 | 
|---|---|---|
| y~A | 单因素ANOVA | 1.小写字母,定量变量 2.大写字母,组别因子(若不转换为factor,则默认为定量协变量) 3.Subject,被试者独有的标志变量 4.Error(Subject/A),表示组内因子 | 
| y~x+A | 含单个协变量的单因素ANCOVA | |
| y~A * B | 双因素ANOVA | 展开为 ~A+B+A:B | 
| y~x1+x2+A*B | 含两个协变量的双因素ANCOVA | |
| y~B+A(B是区组因子) | 随机化区组 | |
| y~A + Error(Subject/A) | 单因素组内ANOVA | |
| y~B*W+Error(Subject/W) | 含单个组内因子(W)和单个组间因子(B)的重复测量ANOVA | 展开为 ~B+W+B:W |