DAY6-谢小发(R包)

作者: 谢小发 | 来源:发表于2020-03-12 02:18 被阅读0次

    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包)

        本文链接:https://www.haomeiwen.com/subject/rgmhjhtx.html