zoukankan      html  css  js  c++  java
  • R从3.5升级到3.6.3

    这里介绍的就是R的一个包:installr。

    installr {installr} R Documentation
    Installing software from R
    Description
    Gives the user the option to download software from within R.
    上面是installr的官方文档介绍。
    接下来来讲所谓的一行代码更新R语言。
    这里有两个注意点:
    1.你的installr必须跟你的R版本对应,因为R语言默认安装的包都是适配最新的R语言版本。
    2.使用installr更新R语言必须在管理员权限运行原生R里面,Rstudio里面无法进行(笔者没有尝试过其他R的IDE,有童鞋若有尝试也可以进行指正)。

    #安装installr
    install.packages(installr)
    library(installr)
    updater()#就是这句。真得劲。一键更新
    

     这个方法的好处在于,你可以不用重新安装你已经有的包。可以完整保留。

    注意:安装时如果提问是否安装需要编译的源代码包, 最好选择否, 因为安装源代码包速度很慢还有可能失败。

    安装完installr包后可以看到RGui中出现了installr选项

     注意:在下载完R新版本后,跳出安装程序,这里安装目录应该和你旧版本的R在一个目录下

    可以看到R console提示框中显示I am now copying 203 packages from 旧的版本到新版本

    等一会儿后。。。。。。。

    出现所有包复制到新位置,然后把包从旧版本中移除等动作。。。。

    到R-3.5.2中看到所有包到移动到了新位置library中

     备注:更详细操作请看北大R教程中http://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/intro.html,内容如下:

    1.3 R扩展软件包的安装与管理

    1.3.1 安装

    R有一万多个扩展软件包,提供了各种各样的功能。 以安装sos包为例。sos包用来搜索某些函数的帮助文档。 在RStudio中用“Tools”菜单的“Install Packages”安装, 输入sos就可以安装该扩展包。

    如果不用RStudio, 在R图形界面选菜单“程序包-安装程序包”, 在弹出的“CRAN mirror”选择窗口中选择一个中国的镜像如“China (Beijing 2)”, 然后在弹出的“Packages”选择窗口中选择要安装的扩展软件包名称, 即可完成下载和安装。

    还可以用如下程序制定镜像网站(例子中是位于清华大学的镜像网站)并安装指定的扩展包:

    options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
    install.packages("sos")

    还可以选择扩展包的安装路径, 如果权限允许, 可以选择安装在R软件的主目录内或者用户自己的私有目录位置。 由于用户的对子目录的读写权限问题, 有时不允许一般用户安装扩展包到R的主目录中。 用.libPaths()查看允许的扩展包安装位置, 在install.packages()中用lib=指定安装位置:

    print(.libPaths())
    ## [1] "D:/R/R-3.3.1/library"
    install.packages("sos", lib=.libPaths()[1])

    1.3.2 Github和BioConductor的扩展包

    还有一些扩展包没有在CRAN系统提供, 而是放在了Github网站。 对于这样的包, 安装方法举例如下:

    if(!require(devtools)) install.packages('devtools')
    devtools::install_github("kjhealy/socviz")

    其中kjhealy是Github网站的某个作者的名称, socviz是该作者名下的一个R扩展包。

    还有一些包需要从Bioconductor网站安装。 示例如下:

    if (!requireNamespace("BiocManager", quietly = TRUE))
        install.packages("BiocManager")
    BiocManager::install(c("Biostrings"))

    1.3.3 更新扩展包

    在RStudio中用“Tools–Check for Package Updates”菜单, 可以显示有新版本的扩展包, 并选择进行更新。

    或者在命令行用如下命令更新本地安装的所有有新版本的CRAN扩展包:

    options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
    update.packages(checkBuilt=TRUE, ask=FALSE)

    RStudio在运行时会载入某些包, 如rlang, 这使得RStudio无法更新这些包, 需要在R的命令行程序中更新。

    1.3.4 迁移扩展包

    在每一次R软件更新后, 需要重新安装原来的软件包, 这个过程很麻烦。 如果仅仅是小的版本更新, 比如从3.5.1变成3.5.2, 或者从3.4.2变成3.5.0, 可以在安装新版本后, 临时将新版本的library子目录更名为library0, 将老版本的library子目录剪切为新版本的library子目录, 然后将library0中所有内容复制并覆盖进入library子目录, 删除library0即可。 然后在基本R中(不要用RStudio)运行如下命令以更新有新版本的包:

    options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
    update.packages(checkBuilt=TRUE, ask=FALSE)

    如果版本改变比较大, 可以用如下方法批量地重新安装原有的软件包。 首先,在更新R软件前,在原来的R中运行:

    packages <- .packages(TRUE)
    dump("packages", file="packages-20180704.R") #将R包名称备份下来

    这样可以获得要安装的软件包的列表。 在更新R软件后, 运行如下程序:

    options(repos=c(CRAN="http://mirror.tuna.tsinghua.edu.cn/CRAN/"))
    source("packages-20180704.R") #放在你的电脑文档目录下
    install.packages(packages)

    安装时如果提问是否安装需要编译的源代码包, 最好选择否, 因为安装源代码包速度很慢还有可能失败。

    1.3.5 项目私有扩展包目录

    在使用了R一段较长时间以后, 会安装了许多扩展包, 这些扩展包在某个时期是有用的, 但是一旦某个任务完成了就不再有用。 但是, 用户自己无法判断哪些包已经不需要。

    R的renv扩展包支持每个项目保存私有的扩展包目录, 这样, 不同的项目使用不同的扩展包集合, 不至于引发版本冲突, 也不必总是为公用的R扩展包目录增加许多仅是短暂使用的扩展包。 那些不需要安装许多扩展包的项目仍可以不启用renv, 使用公用的R扩展包目录。

    在生成新的RStudio项目时, 可以点击选中“Use renv with this project”复选框; 对已有的RStdio项目, 如果要启用renv, 可以选菜单“Tools – Project Options – Environment”, 选中“Use renv with this project”复选框。

    启用了renv的项目, 在安装新的扩展包时, 将安装在项目目录中, 而不再修改R的公用的扩展包目录。 这也有助于将项目迁移到其它计算机上。

  • 相关阅读:
    钢镚儿和鲨鱼记账的差距
    团队绩效管理
    做什么都队第一段冲刺绩效评比
    第一阶段各组对我们的评价
    第一阶段对各小组的评价
    团队十日冲刺最后一天
    团队十日冲刺第九天
    团队十日冲刺第八天
    满心萧然要坚持更博客鸭
    生而为人
  • 原文地址:https://www.cnblogs.com/suncf/p/10208893.html
Copyright © 2011-2022 走看看