工具:安装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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/27131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

医疗图像自动轮廓勾画

医疗图像自动轮廓勾画(也称为自动分割)是一个重要的任务,旨在从医学影像数据中自动提取出感兴趣的解剖结构或病变区域。这项技术在医学诊断、治疗规划和随访中起着至关重要的作用。 文末附基于Keras和TensorFlow的示例代码,用于使用U-Net进行医疗图像自动轮廓勾画代码。 …

Ubuntu server 24 (Linux) 新增磁盘 lvm 动态扩容磁盘空间

1 新增一块硬盘 #查看 sudo fdisk -l #重新分区&#xff0c;转换成lvm类型 sudo fdisk /dev/sdb 2 查看磁盘 df -h3 lvm 配置 #查看lvm逻辑卷 sudo lvdisplay #创建物理卷 sudo pvcreate /dev/sdb1 #扩展卷组 sudo vgextend ubuntu-vg /dev/sdb1 #扩展逻辑卷 sudo lvexte…

linux网络编程poll笔记

poll函数执行的时候具体做了啥&#xff1f; 代码示例&#xff1a; // ....... struct pollfd fds[1024] {0}; fds[sockfd].fd sockfd; fds[sockfd].events POLLIN;int maxfd sockfd; while(1) {int nready poll(fds, maxfd1, -1);// ...... } //....... 1. poll中会…

vue2中使用el-table实现直接编辑表格,鼠标点击空白处实现保存并传递给后端的简单方法

<el-table-column prop"remark" width"120px" label"备注" align"center"><template slot-scope"scope"><span v-if"!scope.row.setingFlag" click"handleEdit(scope.row)">{{scope.…

超声波眼镜清洗机有用吗?四大王牌巅峰超声波清洗机推荐!

在市场上&#xff0c;有很多种家用眼镜超声波清洗机可供选择。但是并不是所有超声波眼镜清洗机清洗的效果都是好的&#xff0c;很多不了解超声波清洗机的朋友容易盲目跟风或者在商家无脑吹的大功率清洗的情况下选择哪些所谓好用的产品&#xff0c;最后却导致踩雷&#xff01;所…

孩子小学毕业了

难说再见 时间已到眼前 一张张照片 模糊了我双眼

怎么脚本ai创作?分享三个方法

怎么脚本ai创作&#xff1f;在数字化时代&#xff0c;AI技术正逐渐渗透到我们生活的方方面面&#xff0c;其中AI脚本创作软件的出现&#xff0c;极大地提高了创作效率&#xff0c;降低了创作门槛。今天&#xff0c;就为大家推荐三款备受好评的AI脚本创作软件&#xff0c;其中聪…

【WEB前端2024】3D智体编程:乔布斯3D纪念馆-第40课-实时订阅后端数据

【WEB前端2024】3D智体编程&#xff1a;乔布斯3D纪念馆-第40课-实时订阅后端数据 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引…

Elastic 索引结构-倒排索引

前言 Elastic 在数据库分类中一般被分为全文检索的数据库&#xff0c;那为什么这么区分呢&#xff1f;主要是因为其独特的索引结构 即倒排索引。 倒排索引 倒排索引先将文档中包含的关键字全部提取出来&#xff0c;然后再将关键字与文档的对应关系保存起来&#xff0c;最后再…

技术应用:使用Spring Boot和Vue.js构建前后端分离的JWT认证应用

导语&#xff1a; 在当前的软件开发领域&#xff0c;前后端分离的架构已经成为了主流。结合Spring Boot和Vue.js这两个流行的框架&#xff0c;我们可以轻松地构建出强大而现代的Web应用。本文将深入探讨如何使用Spring Boot和Vue.js构建一个前后端分离的JWT认证应用&#xff0c…

OpenStack入门初体验

云计算概述 概念 侠义的云计算是指IT基础设施的交付和使用模式广义的云计算是指服务的交付和使用模式云计算资源 网络资源存储资源计算资源 云计算的服务模型 IaaS&#xff08;基础架构即服务&#xff09; IaaS 提供最底层的 IT 基础设施服务&#xff0c;包括处理能力、存储…

如何把路由器设备的LAN口地址为三大私网地址

要将路由器的LAN口地址配置为三大私有IP地址范围之一&#xff08;10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16&#xff09;&#xff0c;我们需要访问路由器的管理界面并进行相应的设置。 下面是步骤&#xff1a; 连接到路由器&#xff1a; 连接到路由器的管理界面&#xf…

Spring中对没有实现类的接口进行曾强

说明 对没有实现类的接口进行增强&#xff0c;此场景在Spring中比较常见。最典型的两个就是Mybatis和feign的调用。其主要是通过FactoryBean实现的。 实现 通过实现BeanDefinitionRegistryPostProcessor进行指定路径下包的扫描. Component Slf4j public class MyBeanDefini…

Flyway支持多数据源

考虑分库分表的场景下&#xff0c;如何实现通过Flyway在多数据源时做数据库版本更新。 实现方案 首先&#xff0c;关闭Flyway自动配置 spring:flyway:#关闭flyway自动配置&#xff0c;自定义实现enabled: false 其次&#xff0c;配置数据库多数据源 datasource:# 主库数据…

Android 列表视频滑动自动播放(实现思路)

1、列表&#xff08;RecyclerView&#xff09;中内容包含视频&#xff0c;列表在快速滑动时候&#xff0c;如果每个视频自动播放&#xff0c;会导致页面卡顿。我们优化思路&#xff0c;通过监听RecyclerView滑动状态&#xff0c;来实现当停止滑动时候&#xff0c;来播放视频 滑…

探索服务器硬件:理解基础组件及其重要性

在现代IT基础设施中&#xff0c;服务器扮演着至关重要的角色。无论是托管网站、管理数据、运行应用程序还是提供各种在线服务&#xff0c;服务器硬件的性能和稳定性都是确保这些任务顺利进行的关键。本文将介绍服务器硬件的基本组件及其功能&#xff0c;以帮助读者更好地理解和…

Keepalived LVS群集

一、Keepalived案例分析 企业应用中&#xff0c;单台服务器承担应用存在单点故障的危险 单点故障一旦发生&#xff0c;企业服务将发生中断&#xff0c;造成极大的危害 二、Keepalived工具介绍 专为LVS和HA设计的一款健康检查工具 支持故障自动切换&#xff08;Failover&#…

OceanMind海睿思成功签约南京市交通集团,助力集团数字化转型高效推进!

近日&#xff0c;中新赛克海睿思与南京市政府批准成立的市级国有全资公司——南京市交通建设投资控股&#xff08;集团&#xff09;有限责任公司&#xff08;以下简称“南京市交通集团”&#xff09;达成深度战略合作&#xff0c;为南京市交通集团提供数据中心及监管数据管理平…

2.4G低功耗无线收发SOC芯片-SI24R03

随着物联网产业对集成度的需求越来越高&#xff0c; 也在不断地完善公司产品生态。 “射频MCU”产品组合--无线SOC芯片&#xff08;MCU&#xff09;&#xff0c;简化了系统设计。只需要少量的外围器件&#xff0c;用户即可实现产品的开发&#xff0c;有效减少了PCB板的占用…

vue关闭页面时触发的函数(ai生成)

在Vue中&#xff0c;可以通过监听浏览器的beforeunload事件来在关闭页面前触发函数。这里是一个简单的示例&#xff1a; new Vue({el: #app,methods: {handleBeforeUnload(event) {// 设置returnValue属性以显示确认对话框event.returnValue 你确定要离开吗&#xff1f;;// 在…