当前位置: 首页 > news >正文

工具:安装R语言的R包的各种方法

欢迎大家关注全网生信学习者系列:

  • WX公zhong号:生信学习者
  • Xiao hong书:生信学习者
  • 知hu:生信学习者
  • CDSN:生信学习者2

介绍

R语言提供的大量R包为众多研究者提供了足够的工具,但是如何安装R包是很多人在使用R语言做数据分析时候所面临的问题之一。接下来介绍如何大规模安装所需要的R包。

在这里插入图片描述

常用安装

  1. install.packages函数是我们常用的安装R包的方式,需要注意的是这些R包必须是在CRAN仓库中,否则安装将会失败。安装方式可以将单个包作为变量传输进入,也可以以向量模式传递多个包。
# Installation of required packages in single model
install.packages("tidyverse")
install.packages("ggplot2")
install.packages("dplyr")
install.packages("tidyr")# mulitple packages in one command line
install.packages(c("tidyverse", "ggplot2", "dplyr", "tidyr"))# load packages
library("tidyverse")
library("ggplot2")
library("dplyr")
library("tidyr")
  1. 这里不得不提的是另一个存放R包的网址bioconductor。该项目是存放了大量用于生物研究的R包,很多做生物信息分析的人都会使用里面提供的R包。它的安装包是通过BiocManager包提供的install函数实现的。

The mission of the Bioconductor project is to develop, support, and disseminate free open source software that facilitates rigorous and reproducible analysis of data from current and emerging biological assays.

# Installation of required packages in single model
BiocManager::install("DESeq2")
BiocManager::install("gsva")# mulitple packages in one command line
BiocManager::install(c("DESeq2", "gsva"))# load packages
library("DESeq2")
library("gsva")
  1. 还有一类是开发者把未经过CRAN或bioconductor等审核过但存放在如github, gitlab等开源网站的R包,这类R包可以分别通过devtoolsremote包的 install_githubinstall_gitlab等函数安装。
devtools::install_github("HuaZou/MyRtools")
remotes::install_github("HuaZou/MyRtools")devtools::install_version("Rcpp", version = "1.0.4.6",repos = "[http://cran.us.r-project.org](http://cran.us.r-project.org)")
  1. 除了联网安装R包外,R还提供本地下载压缩包安装模式。
install.packages("local/packagename.tar.gz", repos=NULL, type="source")

高效方式一

随着时间流逝,安装的R包也越来越多,如何快捷分辨出未安装过的R包就显得尤其重要。我们可以通过 installed.packages函数判断,并使用lapply函数分次安装所有的R包。构建函数,使其具有如下功能:

  1. 判断未安装R包;
  2. 使用 install.packagesBiocManager::install函数安装来源你不同的R包;
  3. 用lapply分别加载R包,并不输出加载过程中产生的信息。
packages_CRAN <- c("tidyverse", "ggplot2", "dplyr", "tidyr")
packages_biocond <- c("DESeq2", "gsva")InstallPackageFun <- function(packages=packages_CRAN , type="CRAN"){#packages=packages_CRAN#type="CRAN"# Install packages not yet installedinstalled_packages <- packages %in% rownames(installed.packages())if (any(installed_packages == FALSE)) {if(type == "CRAN"){lapply(packages[!installed_packages], install.packages)        }else{lapply(packages[!installed_packages], BiocManager::install) }}# Packages Loading invisible(lapply(packages, library, character.only = TRUE)) 
}
InstallPackageFun(packages=packages_CRAN , type="CRAN")
InstallPackageFun(packages=packages_biocond , type="bioconductor")

高效方式二

除了上面这种大规模安装未安装过的R包外,还可以通过已经构建好的R包内置函数安装,例如现在比较友好的R pacman,它提供的p_load函数其实可以看成是上述InstallPackageFun的升级版本。还有一个librarian包提供的shelf函数和p_load有类似的功能。

  • pacman
install.packages("pacman")pacman::p_load(ggplot2, tidyr, dplyr)
  • librarian
install.packages("librarian")librarian::shelf(ggplot2, DESeq2)

相关文章:

  • 大腾智能正式入驻华为云
  • 未来已来:低代码平台如何重塑企业数字化策略?
  • 你知道花洒其实起源于中国古代吗?
  • 【我是产品经理_注册安全分析报告】
  • 制作翻页电子版画册攻略:轻松掌握数字创作技巧
  • Mysql开启查询日志(General Log)
  • docker环境中配置phpstorm php xdebug调试工具
  • 计算子网掩码
  • 多种传感器在钢铁工业安全风险监测预警中的应用
  • 硕士毕业论文《基于磁纹理的磁化动力学研究》
  • “探索机器学习的多面世界:从理论到应用与未来展望“
  • 充电学习—3、Uevent机制和其在android层的实现
  • RAG与Langchain简介
  • 湿法消解石墨消解仪 应用化学分析领域石墨炉
  • 苹果的后来者居上策略:靠隐私保护打脸微软
  • SegmentFault for Android 3.0 发布
  • 10个最佳ES6特性 ES7与ES8的特性
  • 2017-08-04 前端日报
  • ESLint简单操作
  • git 常用命令
  • github从入门到放弃(1)
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • ng6--错误信息小结(持续更新)
  • PhantomJS 安装
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SSH 免密登录
  • Vim Clutch | 面向脚踏板编程……
  • vue-router的history模式发布配置
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 从PHP迁移至Golang - 基础篇
  • 搭建gitbook 和 访问权限认证
  • 动态魔术使用DBMS_SQL
  • 高性能JavaScript阅读简记(三)
  • 坑!为什么View.startAnimation不起作用?
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 小程序01:wepy框架整合iview webapp UI
  • UI设计初学者应该如何入门?
  • 阿里云API、SDK和CLI应用实践方案
  • ​第20课 在Android Native开发中加入新的C++类
  • #微信小程序(布局、渲染层基础知识)
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (9)目标检测_SSD的原理
  • (k8s)Kubernetes本地存储接入
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (强烈推荐)移动端音视频从零到上手(下)
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (学习日记)2024.01.09
  • (转)iOS字体
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .net FrameWork简介,数组,枚举
  • .NET 药厂业务系统 CPU爆高分析
  • .NET中的Exception处理(C#)
  • .NET中使用Redis (二)
  • @Autowired标签与 @Resource标签 的区别