由于微信不允许外部链接,你需要点击文章尾部左下角的 "阅读原文",才能访问文中链接。

我们在安装 R 包的时候,经常会发现某个最新的包与当前 R 的版本不兼容。

> install.packages("effects")Warning message:package ‘effects’ is not available (for R version 3.4.3)

或者,如果我们要将应用程序部署到 shinyapps.io,Shiny Server 或 RStudio Connect 等,这些环境可能不允许我们运行最新版本的 R 包的位置时,我们需要使用旧版本的 R 包。

要知道目前 R 包的版本,可以使用命令 packageVersion("package name") 或者 sessionInfo()。注意,sessionInfo() 这个命令是当前状态 load 的 R 包显示其版本。

> packageVersion("ggplot2")[1] ‘3.0.0’

在没有使用对应 R 包的状态下使用命令 sessionInfo(),不会显示该 R 包信息:

> sessionInfo()R version 3.4.3 (2017-11-30)Platform: x86_64-conda_cos6-linux-gnu (64-bit)Running under: CentOS Linux 7 (Core)

Matrix products: defaultBLAS/LAPACK: /usr/local/software/anaconda3/lib/R/lib/libRblas.so

locale: [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C [9] LC_ADDRESS=C               LC_TELEPHONE=C[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):[1] compiler_3.4.3>

在使用对应R包的状态下使用命令 sessionInfo(),会显示该 R 包及其关联 R 包的版本状态:

> library(ggplot2)> sessionInfo()R version 3.4.3 (2017-11-30)Platform: x86_64-conda_cos6-linux-gnu (64-bit)Running under: CentOS Linux 7 (Core)

Matrix products: defaultBLAS/LAPACK: /usr/local/software/anaconda3/lib/R/lib/libRblas.so

locale: [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C [9] LC_ADDRESS=C               LC_TELEPHONE=C[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:[1] ggplot2_3.0.0

loaded via a namespace (and not attached): [1] Rcpp_0.12.19     withr_2.1.2      crayon_1.3.4     dplyr_0.7.4 [5] assertthat_0.2.0 grid_3.4.3       plyr_1.8.4       R6_2.3.0 [9] gtable_0.2.0     magrittr_1.5     scales_1.0.0     pillar_1.3.0[13] rlang_0.3.0      lazyeval_0.2.1   bindrcpp_0.2     glue_1.3.0[17] munsell_0.5.0    compiler_3.4.3   pkgconfig_2.0.1  colorspace_1.3-2[21] bindr_0.1        tibble_1.4.2>

现在,我们开始今天的重点,介绍一下安装旧版本 R 包的几种方法。

1 使用 devtools 安装

最简单的方法就是使用 devtools 包提供的 install_version() 函数来安装所需的版本。

# 没有 devtools 的话,先要安装> install.packages("devtools")

> require(devtools)> install_version("effects", version = "4.0-0", repo="http://mirrors.tuna.tsinghua.edu.cn/CRAN/")Downloading package from url: http://mirrors.tuna.tsinghua.edu.cn/CRAN//src/contrib/Archive/effects/effects_4.0-0.tar.gz* installing *source* package ‘effects’ ...** package ‘effects’ successfully unpacked and MD5 sums checked** R** inst** preparing package for lazy loading** help*** installing help indices** building package indices** installing vignettes** testing if installed package can be loaded* DONE (effects)

详细的 CRAN repo 镜像列表参考:https://cran.r-project.org/。中国地区的镜像:

2 从源码安装

如果我们知道需要安装的软件包版本的 URL,则可以通过 install.packages() 从指向该 URL 的源码进行安装。 如果您不知道 URL,可以在 CRAN Package Archive 中查找。

如果我们使用的是 Windows 或 OS X 并且正在寻找旧版 R(R 2.1 或更低版本)的软件包,则可以在 CRAN binary archive 中查找。

一旦我们获取到了 URL 后,就可以使用以下示例的命令安装:

> packageurl <- "https://cran.r-project.org/src/contrib/Archive/effects/effects_4.0-0.tar.gz"> install.packages(packageurl, repos=NULL, type="source")

如果我们知道了 URL,也可以通过 R 之外的命令行从源码安装。例如:

$ wget https://cran.r-project.org/src/contrib/Archive/effects/effects_4.0-0.tar.gz$ R CMD INSTALL effects_4.0-0.tar.gz

请注意,如果从源码安装,则需要确保拥有从源代码构建软件包所需的工具链。 在 Windows 上,这可能需要我们安装 Rtools。

3 潜在的问题

安装旧版本的软件包时可能会出现一些潜在问题:

  • 我们可能会丢失仅在较新版本的软件包中出现的功能或 bug 修复。

  • 所需的旧软件包版本可能与我们安装的 R 版本仍然不兼容(有些历史版本的 R 包已经不再更新,这些包只适用于低版本的 R)。 在这种情况下,我们需要将 R 降级到兼容版本或更新 R 代码以使用其他的替代软件包。

·end·

—如果喜欢,快分享给你的朋友们吧—

我们一起愉快的玩耍吧

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

如何安装旧版本的 R 包相关推荐

  1. r语言从网页下载东西内容 r安装特定版本的r包 r从网页下载 安装包

    加载 library(RCurl) getBinaryURL(url, -, .opts = list(), curl = getCurlHandle(), .buf = binaryBuffer(. ...

  2. R语言如何查找旧版本的R包的版本并且下载。

    如何查找旧版本的R包并且下载 查找旧版本 网上给的都是如何下载某个旧版本的R包,在你已知版本的情况下.那我又不知道到底有什么版本. so,先找到有什么版本的包 网址(https://cran.r-pr ...

  3. 安装低版本的R语言、和自行下载安装各个版本的R语言包、以及多环境运行R

    1. 下载并安装最新的R版本软件,以国内的清华的镜像为例(国内镜像速度快) https://mirrors.tuna.tsinghua.edu.cn/CRAN/ 2. 官网上如何下载老版本或低版本(旧 ...

  4. 20220413安装旧版本的百度网盘的方法

    20220413安装旧版本的百度网盘的方法 您的电脑已安装版本更高的百度网盘客户端, 如需降级安装,请先卸载当前版本. 新电脑装最新的百度网盘之后,感觉不适应,降级的时候出现这个问题了! 人不如旧,衣 ...

  5. 解决Pthon中无法安装旧版本TensorFlow问题

    解决Python中无法安装旧版本TensorFlow问题 前言 一.报错信息 二.报错原因 三.解决方案 conda命令学习 最终解决 如何使用新创建的环境 pycharm Jupyter 前言 当我 ...

  6. 【ipad+向日葵远程控制】解决ipad上在向日葵中无法使用上下左右键、Tab键(解决方法是:在ipad上安装旧版本向日葵11.2.2,配合使用的是罗技K380键盘)

    目录 参考链接 需要用到的3个工具(都是在Windows电脑上操作的) 开始配置 1. iTunes登录自己的账号 2. 安装旧版本 2.1 iTunes中打开向日葵APP的页面,然后把 iTunes ...

  7. yum安装本地rpm包_在 Fedora 中安装替代版本的 RPM 包

    模块化使 Fedora 能够在仓库中提供替代版本的 RPM 软件包.每个 Fedroa 版本可以原生构建不同应用.语言运行时和工具版本的多个版本. -- Adam Šamalík(作者) 模块化 (M ...

  8. 中标麒麟安装rpm包命令_在 Fedora 中安装替代版本的 RPM 包

    模块化使 Fedora 能够在仓库中提供替代版本的 RPM 软件包.每个 Fedroa 版本可以原生构建不同应用.语言运行时和工具版本的多个版本. -- Adam Šamalík(作者) 模块化 (M ...

  9. 苹果4s手机装 java微信_苹果4s版本过低不能下载微信怎么安装旧版本的

    苹果4s版本过低不能下载微信怎么安装旧版本的以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 没越狱的话就只能连接itun ...

最新文章

  1. python 之pulp 线性规划介绍及举例
  2. linux下的软件包安装(rpm   yum)
  3. [译]Spring Session 与 Spring Security
  4. Android图表控件MPAndroidChart——曲线图LineChart的使用(财富收益图)
  5. 测试Hibernate的最低配置
  6. 盘点2018:数据和云最受欢迎的十大精品文章
  7. 要取代 Node.js 的 Deno 还活着吗?
  8. 云计算介绍-1.2,IaaS\PaaS\SaaS比较
  9. oracle 常用语句2
  10. 二维树状数组 探索进行中
  11. 华为云认证报名条件是什么?考试去哪里考?
  12. GIS当中矢量数据、影像数据、地形数据等常见数据格式的介绍
  13. vue实现纯前端导入与解析excel表格文件,导出Excel
  14. M个苹果放到N个相同盘子和N个不同盘子的解法
  15. 好的网站标志设计之意象运用手法
  16. yui2 datatable转换至yui3
  17. java解析bt协议详解_BT下载原理分析
  18. AppWidget(桌面小部件)
  19. flexible.js在华某为手机上使用rem时,页面宽度超出手机屏幕宽度
  20. 证监会:将重点关注公司上市不满三年卖壳行为

热门文章

  1. 95后女程序员一下班就溜,拒绝加班!下班玩消失,不回信息!leader吐槽:95后都这么有个性吗?...
  2. 谈谈对 Canal( 增量数据订阅与消费 )的理解--大数据平台技术栈系列(3)
  3. 2019年IT人加薪的9大神器
  4. 推荐15个高质量学习网站,仅看一眼,就收获满满,赶紧收藏!
  5. 知乎自动批量软件使用教程
  6. Excel实用小技巧
  7. JVM---直接内存
  8. 17 Java面试之css
  9. 嵌入式系统之温限使用
  10. 05JavaScript中的流程控制