在Ubuntu中安装R包的首选方法是什么?
我在ubuntu中安装R,但是我对安装软件包的许多选项感到困惑。
传统的方法是通过install.package()
在R中安装它们。 但Ubuntu提供了使用apt-get
进行安装的可能性。 这很有趣,因为操作系统会更新软件包。 由于它们只有几个可用的包,它迟早会产生问题。 我最终将通过传统的方式安装软件包,以不同的方式安装它们,也许(?)这也会产生版本问题。
在Ubuntu中安装和保存R包的首选方法是什么?
我认为通过Ubuntu repos提供的唯一R包是由R开发核心团队维护的包。 与大多数软件包一样, apt
或synaptic提供的软件包并不总是最新版本。 幸运的是,您可以通过在/etc/apt/sources.list.d/CRAN.list
中创建包含单行文本的新文件来添加CRAN维护的软件源:
deb http://cran.r-project.org/bin/linux/ubuntu trusty/
(替换trusty/
与您的发行版的代号;如果您不知道它将lsb_release -c
键入终端)。 在此之后(以及一个apt update
),您的包管理器将始终安装(或更新)CRAN维护的r-base
, r-base-core
等版本,因为它们的版本号将高于debian消息来源。 如果apt
抱怨repo没有签名,请看这里 。
对于所有其他包(AKA“贡献包”),我更喜欢尽可能安装在R中通过install.packages(c("name_of_package", "name_of_other_package"))
,除非我知道CRAN上的版本是旧的并且新版本具有我需要的function。 在这种情况下,您可以使用devtools::install_github('AccountName/RepositoryName')
从GitHub安装或下载存档,并通过R CMD INSTALL name_of_package.tar.gz
从终端窗口R CMD INSTALL name_of_package.tar.gz
,或通过install.packages("/path/to/downloaded/package.tar.gz", repos=NULL, type="source")
R CMD INSTALL name_of_package.tar.gz
在R中install.packages("/path/to/downloaded/package.tar.gz", repos=NULL, type="source")
。
为了完整起见 ,这是CRAN的官方指导 。
我通常会尽可能使用apt-get r-cran
安装,因为它以更清洁的方式处理依赖关系和更新。 只有当它不可用时,我才会使用R中的安装。
请注意,R Debian软件包有两个存储库:
- 官方R:提供一些套餐。 要包含它,您需要添加更新source.list文件的repo的链接。 这在CRAN-ubuntu页面上有记录 ,然后运行
apt-get update
,然后进行升级 -
PPA:Michael rutter提供了一个ppa , cran2deb4ubuntu ,它包含更多的包。 有关某些文档,请参阅此博客的结尾。 您只需要运行(然后在更新/升级后):
sudo add-apt-repository ppa:marutter/c2d4u
请注意,对于R 3.5.0,repo名称已更改,Michael Rutter预编译的任务视图库现在可从cran2deb4ubuntu_3.5获得