如何在 Ubuntu 14.04 上设置 R
介绍
R 是一种流行的开源编程语言,专门用于统计计算和图形。它被统计学家广泛用于开发统计软件和执行数据分析。 R 的优势之一是允许用户编写和提交他们自己的包,因此它具有高度且易于扩展的特性。众所周知,R 社区非常活跃,并以不断为特定研究领域添加用户生成的统计包而著称,这使得 R 适用于许多研究领域。
\Comprehensive R Archive Network (RStudio mirror.
在本指南中,我们将学习如何在运行 Ubuntu 14.04 的 DigitalOcean Droplet 上设置 R。如果您的 Droplet 运行的是不同的操作系统,大部分说明仍然适用,但您可能需要修改一些命令。按照本指南完成操作大约需要 10-15 分钟。
先决条件
对于本教程,您将需要:
- 具有至少 1 GB RAM 的 Ubuntu 14.04 Droplet。本教程中的所有命令都应以非根用户身份运行。如果该命令需要 root 访问权限,则它前面会加上
sudo
。 Ubuntu 14.04 的初始服务器设置说明了如何添加用户并为他们提供 sudo 访问权限。
第 1 步 — 设置 APT
要安装 R,我们将使用 APT(高级打包工具)工具。它使用一个特殊的文件来列出应该从哪里下载包的来源。该文件是 /etc/apt/sources.list
。为了获得最新版本的 R,我们需要通过在源文件中添加一行来将正确的存储库添加到源列表中。您需要添加的确切行将根据确切的 Ubuntu 版本而有所不同。对于 Ubuntu 14.04,运行以下命令将正确的存储库添加到 /etc/apt/sources.list
。
- sudo sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list'
如果您运行的是不同的 Ubuntu 版本,请参阅此文档以添加正确的存储库。
要验证使用 APT 下载的包,我们必须添加一个公钥。 CRAN 上的 Ubuntu 档案使用 ID 为 E298A3A825C0D65DFD57CBB651716619E084DAB9 的密钥进行签名。将此密钥添加到您的系统。
- gpg --keyserver keyserver.ubuntu.com --recv-key E298A3A825C0D65DFD57CBB651716619E084DAB9
接下来我们需要将密钥添加到apt
。
- gpg -a --export E298A3A825C0D65DFD57CBB651716619E084DAB9 | sudo apt-key add -
第 2 步 — 安装 R
现在 APT 已经正确设置,我们准备使用它来安装 R。
首先,我们需要更新可用包列表,因为我们更新了源列表。
- sudo apt-get update
现在我们可以安装 R。我们使用 -y
标志在询问我们是否确定要下载包时自动回答是。
- sudo apt-get -y install r-base
此时,您应该在 Droplet 上安装了最新的 R 版本。您可以通过运行 R
命令来对此进行测试。
- R
您应该会看到类似于以下内容的输出。
R version 3.2.1 (2015-06-18) -- "World-Famous Astronaut"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
>
您现在位于 R 交互式 shell 中,可以运行任意 R 命令。
退出 R,并使用 q()
函数返回到您的 Droplet:
- q(save = "no")
第 3 步 — 从 CRAN 安装 R 包
现在 R 已安装在您的 Droplet 上,Droplet 上的任何用户都可以使用 R。安装 R 时,它会自动安装一些默认包,但为了在 R 中做任何真正有意义的事情,您可能需要安装额外的包.要安装许多软件包,至少要有 1 GB 可用 RAM 是很重要的。
如前所述,CRAN 不仅托管 R 本身,还托管许多 R 包。要安装托管在 CRAN 上的新 R 包,或更新现有包,您可以使用 R 中的 install.packages()
函数。如果您想安装包 somepackage ,您将打开 R 并运行以下 R 命令。
# This is an example, do not run this
install.packages("somepackage")
但是,在 R 中由特定用户安装的任何包默认情况下仅供该用户使用。例如,如果用户 sammy 安装了 somepackage,那么用户 jessie 将无法使用 somepackage,直到他们也安装了它。
可以通过以根用户身份安装 R 包,使其对 Droplet 上的所有用户都可用。例如,让我们安装 shiny
包,这是一个非常流行的包,用于从 R 代码创建 Web 应用程序。以 root 身份安装包的一种方法是以 root 身份登录,运行 R,然后运行 install.packages()
命令。但是,建议不要以 root 身份登录,因此我们可以直接以 root 身份运行 R 命令。我们还将指定 repos
参数,以便从 RStudio CRAN 存储库下载包,这与我们在下载 R 本身时使用的相同。
- sudo su - -c "R -e \"install.packages('shiny', repos = 'http://cran.rstudio.com/')\""
通过这种方式安装包而不是打开 R 并运行 install.packages()
命令,shiny
包可供 Droplet 上的所有用户使用。
让我们通过尝试加载它来验证 shiny
是否已正确安装。启动 R 会话。
- R
在 R 中,尝试加载 shiny
包。
- library(shiny)
运行前面的命令应该不会出现错误。现在退出R。
- q(save = "no")
第 4 步 — 安装 devtools 包
虽然许多 R 包托管在 CRAN 上并且可以使用内置的 install.packages()
函数安装,但还有更多包托管在 GitHub 上但不在 CRAN 上。要从 GitHub 安装 R 包,我们需要使用 devtools
R 包,所以让我们安装它。
devtools
R包需要在Droplet上安装三个系统包,分别是libcurl4-gnutls-dev
、libxml2-dev
、libssl-devc
。安装这三个包:
- sudo apt-get -y install libcurl4-gnutls-dev libxml2-dev libssl-dev
现在可以安装 devtools
R 包了。请记住,我们希望使用与上述相同的方法安装它,而不是在 R 会话中安装它,因为 devtools
应该对所有用户可用。
- sudo su - -c "R -e \"install.packages('devtools', repos='http://cran.rstudio.com/')\""
上面安装 devtools
的命令可能需要几分钟才能完成。
第 5 步 — 从 GitHub 安装 R 包
现在我们已经安装了 devtools
,我们可以使用 install_github()
函数安装 GitHub 上的任何 R 包。就像 CRAN 包一样,在安装 GitHub 包时,您需要从系统 shell 运行命令以使所有用户都可以使用该包。让我们尝试安装 shinyjs
GitHub 包,它为 shiny
包添加了功能。 GitHub 包由其作者 (daattali
) 及其名称 (shinyjs
) 定义。
- sudo su - -c "R -e \"devtools::install_github('daattali/shinyjs')\""
让我们通过尝试加载它来验证 shinyjs
是否已正确安装。启动 R 会话。
- R
在 R 中,尝试加载 shinyjs
包。
- library(shinyjs)
运行前面的命令可能会产生一些消息,但不会产生错误消息。现在退出R。
- q(save = "no")
下一步
你现在在你的 Droplet 上安装了一个可以工作的 R。
要了解有关 R 的更多信息,请访问 swirl
包。
有关 CRAN 及其提供的内容的更多信息,请访问 CRAN 官方网站。
为了更好地体验在 Droplet 上编写 R 代码,您可能需要使用本教程安装 RStudio 服务器。
如果您想在 Droplet 上托管任何 Shiny 代码,您可能需要使用本教程安装 Shiny Server。
结论
在本指南中,我们完成了在 Ubuntu 14.04 Droplet 上设置 R 所需的步骤。我们还了解了从 GitHub 与 CRAN 安装 R 包之间的区别,以及如何确保这些包对 Droplet 上的所有用户可用。