R包学习框架
R包安装及加载
- 镜像设置
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
分别对应清华源和中科大源的镜像 - 安装
install.packages(“包”)
存在于CRAN网站;BiocManager::install(“包”)
存在于bioconductor
- 加载
libarary(包)
和require(包)
均可
dplyr五个基础函数
- 新增列
使用test <- iris[c(1:2,51:52,101:102),]
调用内置数据集(iris为常用的分类实验数据集,调用向量数据后对test变量进行赋值);
使用mutate()
进行新增列(定义new=前两列数据的乘积)
- 按列筛选
- 按照列号筛选,使用命令
select(test,5)
进行第5列数据提取;
使用命令select(test,c(2,3))
进行第2和第3列数据提取
- 按照列名进行筛选,使用命令
select(test,Sepal.Width)
筛选出以Sepal.Width命名的那一列
使用命令select(test,Sepal.Length,Petal.Length)
可筛选两列数据
使用vars <- c("Petal.Length", "Petal.Width") select(test, one_of(vars))
对vars进行赋值
- 筛选行,使用
filter()
筛选行 - 对整个表格排序,使用
arrange()
- 进行汇总,使用命令
summaries()
group_by()
dplyr两个使用技能
- 管道操作,
%>%
是最常用的一个操作符,就是把左侧准备的数据或表达式,传递给右侧的函数调用或表达式进行运行,可以连续操作就像一个链条一样
- 对可扩展单元格或集合表达式进行计数,使用
count
dplyr处理关系数据
- 将两个表进行连接,在建立数据框时候加入语句
stringsAsFactors = FALSE
此时数据框将不会默认把字符型转化为因子,运行代码 - 取两个表数据中的交集,使用
inner_join()
-
左连(左表的所有数据列出,右表的相同部分列出,不同部分用null 补齐)
- 全连,是取两个表的并集,使用
full_join()
-
半连接,为了方便说明半连接的含义,这里我们用"t1.x semi= t2.y"来表示表T1和表T2做半连接,且T1是驱动表,T2是被驱动表,半连接条件为t1.x=t2.y。这里"t1.x semi= t2.y"的含义是只要在表T2中找到一条记录满足t1.x=t2.y,则马上停止搜索表T2,并直接返回表T1中满足条件t1.x=t2.y的记录。也就是说,表T2中满足半连接条件t1.x=t2.y的记录即使有多条,表T1中也只会返回第一条满足条件的记录。所以半连接和普通的内连接不同,半连接实际上会去重(两表关联,只返回匹配上的数据并且只会返回一张的表的数据,半连接一般就是指的在子查询中出现 IN 和 EXISTS)。
- 反连接,两表关联,只返回主表的数据,并且只返回主表与子表没关联上的数据,这种连接就叫反连接。反连接一般就是指的 NOT IN 和 NOT EXISTS,使用命令
anti_join()
- 简单合并,使用
bind_rows()
,bind_cols()