美文网首页生信星球培训第123期
学习小组Day6笔记--赵豪

学习小组Day6笔记--赵豪

作者: Chamberzero | 来源:发表于2021-09-29 09:01 被阅读0次
    今天的重点是学习R包
    

    思维导图如下


    安装和加载R包

    1. 镜像设置

    # options函数就是设置R运行过程中的一些选项设置
    options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
    options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源
    

    options()$BioC_mirror查询镜像

    写入配置文件

    file.edit('~/.Rprofile')
    

    2. 安装包及加载

    install.packages("dplyr")
    install.packages(“libs/xxxx.tgz”,repo=NULL,type=”source”) #安装本地包
    BiocManager::install() # bioconductor上的包
    devtools::install_github("user/repo") #安装github上的包
    
    
    library(dplyr)
    require(package)
    

    附,自己总结的优雅的包安装及加载方法

    .pkgcheck <- function(){
      # List of packages for session
      .packages = c("ggplot2", "dplyr", "rms")
      
      # Install CRAN packages (if not already installed)
      print("If check and install the packages?  yes/no")
      .selection = readline()
      if (.selection == "yes") {
        .inst <- .packages %in% installed.packages()
        if(length(.packages[!.inst]) > 0) install.packages(.packages[!.inst])
      }
      
      
      # Load packages into session 
      lapply(.packages, require, character.only=TRUE)
      rm(list=ls())
    }
    .pkgcheck()
    

    dplyr基础函数

    包的cheatsheet


    dplyr cheatsheet

    1. mutate()

    mutate(data,new_col = ...)
    
    mutate

    2.select()

    select(data, col_num or col_name)
    
    select(test,c(1,5))
    
    select(test, Petal.Length, Petal.Width
    
    vars <- c("Petal.Length", "Petal.Width")
    select(test, one_of(vars)) # 直接使用select(test,vars)也可以,但是会有提示表明指代模糊
    

    3.filter()


    4.arrange()

    和sort指令差不多

    arrange(.data, ...)
    arrange(test, Sepal.Length)#默认从小到大排序
    arrange(test, desc(Sepal.Length))#用desc从大到小
    

    5.summarise()

    summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length的平均值和标准差
    summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
    

    VARIATIONS # summarise函数变种

    • summarise_all() - Apply funs to every column.
    iris %>%
      group_by(Species) %>% 
       summarise_all(list(min, max,sd))
    # 对所有的变量进行list中函数的summarise
    
    • summarise_at() - Apply funs to specific columns.
    iris %>%
      summarise_at(vars(Sepal.Length:Petal.Width), list(mean,sd), na.rm = TRUE)
    
    • summarise_if() - Apply funs to all cols of one type.
    starwars %>%
      summarise_if(is.numeric, mean, na.rm = TRUE)
    

    6.group_by

    iris %>% group_by(Species) %>% 
     summarise(mean(Sepal.Length),sd(Sepal.Width))
    # A tibble: 3 x 3
      Species    `mean(Sepal.Length)` `sd(Sepal.Width)`
      <fct>                     <dbl>             <dbl>
    1 setosa                     5.01             0.379
    2 versicolor                 5.94             0.314
    3 virginica                  6.59             0.322
    

    dplyr两个实用技能

    1. 管道操作 %>% (cmd/ctr + shift + M)

    将符号前面的结果作为符号后一个的数据

    In computer programming, especially in UNIX operating systems, a pipe is a technique for passing information from one program process to another.

    2. count()

    count(iris,Species)
         Species  n
    1     setosa 50
    2 versicolor 50
    3  virginica 50
    
    截图_20212929012925.png

    dplyr处理关系数据

    类似于sql表连接

    1. inner_join()

    2. left_join()

    3. full_join()

    4. semi_join()

    返回能够与y表匹配的x表所有记录semi_join

    5. anti_join()

    返回无法与y表匹配的x表的所记录anti_join


    6. 简单合并

    • bind_rows()
    • bind_cols()

    相关文章

      网友评论

        本文标题:学习小组Day6笔记--赵豪

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