DAY6-谢小发(R包)

R包学习框架

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=前两列数据的乘积)
  • 按列筛选
  1. 按照列号筛选,使用命令select(test,5)进行第5列数据提取;
    使用命令select(test,c(2,3))进行第2和第3列数据提取
  2. 按照列名进行筛选,使用命令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()

你可能感兴趣的:(DAY6-谢小发(R包))