工具:安装R语言的R包的各种方法
欢迎大家关注全网生信学习者系列:
- WX公zhong号:生信学习者
- Xiao hong书:生信学习者
- 知hu:生信学习者
- CDSN:生信学习者2
介绍
R语言提供的大量R包为众多研究者提供了足够的工具,但是如何安装R包是很多人在使用R语言做数据分析时候所面临的问题之一。接下来介绍如何大规模安装所需要的R包。

常用安装
- 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")
- 这里不得不提的是另一个存放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")
- 还有一类是开发者把未经过CRAN或bioconductor等审核过但存放在如github, gitlab等开源网站的R包,这类R包可以分别通过devtools或remote包的 install_github 或 install_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)")
- 除了联网安装R包外,R还提供本地下载压缩包安装模式。
install.packages("local/packagename.tar.gz", repos=NULL, type="source")
高效方式一
随着时间流逝,安装的R包也越来越多,如何快捷分辨出未安装过的R包就显得尤其重要。我们可以通过 installed.packages函数判断,并使用lapply函数分次安装所有的R包。构建函数,使其具有如下功能:
- 判断未安装R包;
- 使用 install.packages或BiocManager::install函数安装来源你不同的R包;
- 用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)
相关文章:
工具:安装R语言的R包的各种方法
欢迎大家关注全网生信学习者系列: WX公zhong号:生信学习者Xiao hong书:生信学习者知hu:生信学习者CDSN:生信学习者2 介绍 R语言提供的大量R包为众多研究者提供了足够的工具,但是如何安装R包是很多人在使…...
注意力机制和Transformer模型各部分功能解释
文章目录 Transformer1、各部分功能解释2、通过例子解释a.输入预处理位置编码b.Encoder 的处理c.Decoder的输入Decoder的工作流程d.输出预测总结 Attention代码和原理理解 Transformer 运行机理: (1)假设我们需要进行文本生成任务。我们将已…...
短路是怎么形成的
1. 短路分为电源短路和用电器短路。 电源短路:电流不经过任何用电器,直接由正极经过导线流向负极,由于电源内阻很小,导致短路电流很大,特别容易烧坏电源。 用电器短路:也叫部分电路短路,即一根…...
【ZZULIOJ】1106: 回文数(函数专题)
题目描述 一个正整数,如果从左向 右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。输入两个整数m和n(m<n),输出区间[m,n]之间的回文数。…...
数据库设计规范总结
数据库设计规范总结 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 数据库设计规范是指在设计数据库时应该遵循的一系列规则和标准,旨在提高数据库…...
深度学习(九)——神经网络:最大池化的作用
一、 torch.nn中Pool layers的介绍 官网链接: https://pytorch.org/docs/stable/nn.html#pooling-layers 1. nn.MaxPool2d介绍 nn.MaxPool2d是在进行图像处理时,Pool layers最常用的函数 官方文档:MaxPool2d — PyTorch 2.0 documentation &…...
「前端+鸿蒙」鸿蒙应用开发-ArkTS语法说明-组件声明
ArkTS 是鸿蒙应用开发中的一个框架,它允许开发者使用 TypeScript 语法来创建声明式的用户界面。在 ArkTS 中,组件声明是构建 UI 的基础。以下是 ArkTS 快速入门的指南,包括组件声明的语法说明和示例代码。 ArkTS 快速入门 - 语法说明 - 组件声明 组件基础 在 ArkTS 中,组…...
python的subprocess 模块
subprocess 模块是 2.4 版本中新增的模块, 它允许您生成新进程,连接到它们的 输入 / 输出 / 错误 管道,并获得它们的返回码 (状态信息), 该模块的目的在于取代几个较旧的模块和功能 subprocess 模块可以用于执行系统命令, 拿到执行的结果, 速度比较的快…...
【Arc gis】使用DEM提取流域范围
地址:arcgis DEM 提取流域范围(详细教程)(空间分析--Hydrology)_gis的gridcode是什么意思-CSDN博客...
大模型技术工程师:抓住时代机遇,成为行业精英_
伴随AI大模型的火热,中国科技大厂们正在掀起一场「跑步AI化」的风暴。从顶层战略到业务线重构,AI无疑已成为大厂们押注未来的新故事。 大模型时代已经到来 大模型已成为全球竞争热点,一个大模型时代已经到来。 大模型具备三个特点…...
孟德尔随机化R包:TwoSampleMR和MR-PRESSO安装
1. 孟德尔随机化R包 看一篇文章,介绍孟德尔随机化分析,里面推荐了这两个R包,安装了解一下: Methods:Genome-wide association study (GWAS) data for autoimmune diseases and AMD were obtained from the IEU Open GWAS databas…...
6月18日 Qtday4
作业day4.1 作业4.2...
Vue3模拟国足18强赛抽签
Vue3国足18强赛抽签 国足遇到这个对阵,能顺利出现吗? 1、系统演示 Vue3模拟国足18强赛抽签 2、关键代码 开始抽签 <script setup> import FenDang from "/components/chouqian/FenDang.vue"; import {ref} from "vue";le…...
mesa编译器nir信息储存问题
概述 本来想将一个完整的可以从hlsl-dxil-spirv-nir-code的项目划分为两个动态库a.dll与b.dll。应用程序调用a.dll与b.dll执行相同的过程。 a.dll:执行dxil-spirv-nir前端相关的转换。 b.dll:执行nir-code的转换。 应用程序调用dxc实现hlsl-dxil的过程&…...
windows下mysql设置开机自启动
windows下mysql设置开机自启动 情况1.mysql服务不存在情况2.mysql服务已存在 我们先检查一下电脑是否存在mysql服务 此电脑(右键)—>管理—>服务 看一下能不能找到相关mysql 服务 情况1.mysql服务不存在 以管理员的身份运行命令窗口,找到mysqld.exe 所在的路径 命令如下…...
L2-002 链表去重(C++)
给定一个带整数键值的链表 L,你需要把其中绝对值重复的键值结点删掉。即对每个键值 K,只有第一个绝对值等于 K 的结点被保留。同时,所有被删除的结点须被保存在另一个链表上。例如给定 L 为 21→-15→-15→-7→15,你需要输出去重后…...
异或运算在面试题中的应用
异或运算 是 涉及到数据位运算时常见的处理方式。如何进行异或运算?在对应位上,相同为0,不同1,但其实两个数据异或运算就是进行无进位加法。 例如: int a = 7, b = 6, a ^b = ? 算法1: 相同为0,不同为1 a ^ b= : 0 0 0 1 算法2: 无进位…...
【2024最新华为OD-C/D卷试题汇总】[支持在线评测] 单词大师(100分) - 三语言AC题解(Python/Java/Cpp)
🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 …...
LabVIEW在SpaceX的应用
结合真实的资料介绍LabVIEW在SpaceX的应用,涵盖自动化测试系统、数据采集与监控、可视化与分析、模块化设计与扩展,以及效率与可靠性的提高。 自动化测试系统 LabVIEW在SpaceX的自动化测试系统中发挥了关键作用。自动化测试是确保SpaceX火箭及其子系…...
【Android面试八股文】讲一讲String、StringBuffer和StringBuilder在进行字符串操作时候的效率
文章目录 一、String二、StringBuffer三、StringBuilder四、String、StringBuffer和StringBuilder的效率测试五、String、StringBuffer和StringBuilder的选择一、String String是不可变的,final修饰,任何对String的操作都会创建一个新的String对象。在进行大量字符串拼接或修…...
Agent 在人力资源场景能做什么?——深度拆解AI Agent重塑HR全流程的技术路径与实操价值
在2026年的今天,AI Agent(智能体)已不再仅仅是企业数字化转型的“锦上添花”,而是演变为人力资源(HR)领域的底层驱动力。从最初的单点辅助工具到如今具备自主规划、工具调用及闭环执行能力的数字员工&#…...
MinIO搭配Nginx部署,除了反向代理解决CORS,这些安全与性能配置你也该知道
MinIO与Nginx生产级部署:从CORS解决到安全性能全栈优化 当对象存储服务MinIO遇上高性能Web服务器Nginx,两者的结合能为企业级应用带来怎样的化学反应?这不仅仅是简单的反向代理配置,而是一套涵盖安全加固、性能调优、高可用设计的…...
Elsevier投稿遇Publishing Options卡死?别慌,试试这3个亲测有效的急救方案(附Edge浏览器操作)
Elsevier投稿遇Publishing Options卡死?3个急救方案与Edge浏览器实战指南 凌晨三点,实验室的灯光依然亮着。张教授盯着屏幕上那个纹丝不动的"Publishing Options"页面,手指无意识地敲击着桌面。距离返修截止只剩不到12小时…...
HDLC(高级数据链路控制):从帧结构解析到C语言模拟实现
1. HDLC协议基础:从比特流到可靠传输 第一次接触HDLC协议时,我盯着那串01111110的标志位发了半天呆——这不就是个简单的比特序列吗?怎么就能成为整个协议的基础?后来在调试卫星通信模块时才发现,正是这个看似简单的设…...
如何让foobar2000焕然一新?探索DUI皮肤配置的无限可能
如何让foobar2000焕然一新?探索DUI皮肤配置的无限可能 【免费下载链接】foobox-cn DUI 配置 for foobar2000 项目地址: https://gitcode.com/GitHub_Trending/fo/foobox-cn 你是否厌倦了千篇一律的音乐播放器界面?每天与音乐相伴数小时࿰…...
OpenClaw+Qwen3-VL:30B:低成本智能助手方案
OpenClawQwen3-VL:30B:低成本智能助手方案 1. 为什么选择本地部署的智能助手 去年我在团队内部推动了一个小实验:用公有云的对话API搭建了一个智能助手。三个月后收到账单时,那个数字让我意识到——对于长期运行的自动化任务,按…...
微信850协议实战:泡泡玛特小程序授权不掉线全流程解析(附源码)
微信850协议深度应用:构建高稳定小程序授权体系的技术实践 在移动互联网生态中,微信小程序已成为连接用户与服务的重要桥梁。对于开发者而言,如何确保授权流程的稳定性,特别是在需要长期维持登录状态的场景下,成为技术…...
OpenClaw技能开发入门:为百川2-13B模型定制专属文件处理插件
OpenClaw技能开发入门:为百川2-13B模型定制专属文件处理插件 1. 为什么需要自定义文件处理技能? 去年夏天,我的桌面上堆积了超过2000份未分类的文档——包括技术笔记、会议记录、临时下载的论文和各种截图。当我尝试用现有工具整理时&#…...
Docker+宝塔双方案:Nextcloud私有云盘从入门到企业级部署全攻略
Nextcloud企业级私有云部署双轨方案:Docker敏捷开发与宝塔生产环境实战指南 在数字化转型浪潮中,企业数据主权意识正在觉醒。Nextcloud作为开源的私有云解决方案,不仅提供了媲美商业云盘的功能体验,更让组织完全掌控数据流向。本文…...
告别WechatRealFriends:WeFriends帮你实现微信好友关系管理无缝过渡
告别WechatRealFriends:WeFriends帮你实现微信好友关系管理无缝过渡 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRe…...
