如何在Ubuntu18.04上使用devtools安装R包

来自菜鸟教程
跳转至:导航、​搜索

介绍

R 是一种流行的开源编程语言,专门研究统计计算和图形。 它广泛用于开发统计软件和执行数据分析。 R 社区以不断为特定研究领域添加用户生成的包而闻名,这使其适用于许多领域。

在本教程中,我们将介绍如何安装 devtools 并使用它直接从 GitHub 安装 R 包。

先决条件

要学习本教程,您将需要一个 Ubuntu 18.04 服务器:

  • 至少 1GB RAM
  • 具有 sudo 权限的 非 root 用户
  • R 已安装,按照本 R 安装指南 步骤 1 实现

一旦这些先决条件到位,您就可以开始了。

第 1 步 — 为 devtools 安装系统依赖项

我们将从交互式 shell 安装 devtools,但在此之前,我们需要安装这些系统依赖项:

sudo apt install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev

有了这些依赖关系,我们就可以继续了。

第 2 步 — 安装 devtools 包

通过 devtools,我们将能够直接从 GitHub、BitBucket、本地文件安装和构建包,并从 CRAN 安装特定版本。 为了使 devtools 在系统范围内可用,我们将以 root 身份进入 R 的 shell:

sudo -i R

在监视器中,我们将使用 install.packages() 功能从官方 Comprehensive R Archive Network (CRAN) 安装 devtools

install.packages('devtools')

安装可能需要一段时间。 完成后,在安装输出接近尾声时,我们应该看到:

Output...
** testing if installed package can be loaded
* DONE (devtools)

接下来,我们将在直接从 GitHub 获取和构建项目时对其进行测试。

第 3 步 — 从 GitHub 安装 R 包

在这一步中,我们将直接从 GitHub 安装 Shiny 的最新开发版本,这是一个 R 的 Web 应用程序框架。 我们将使用 devtools 提供的 install_github 函数来执行此操作。 GitHub 包由其作者 (rstudio) 及其名称 (shiny) 定义,您可以从项目主页面的 GitHub URL 中找到该名称:https://github.com/rstudio/shiny

使用以下命令进行安装:

devtools::install_github('rstudio/shiny')

当我们在输出末尾附近看到以下行并返回到 R 提示符时,安装已成功完成:

Output. . .
** testing if installed package can be loaded
* DONE (shiny)
>

我们可以使用以下命令查看我们安装的 Shiny 的特定版本:

packageVersion("shiny")
Output[1] ‘1.1.0.9000’

在下一步中,我们将快速浏览一下 Shiny。 我们首先需要执行几个系统级任务,因此我们将使用以下命令或使用 CTRL-D 退出监视器:

q()

其中任何一个都会提示您保存工作区图像,即包含用户定义对象的 R 工作环境。 这对于我们的目的不是必需的,因此您可以安全地输入 n

由于我们将使用 Web 浏览器来查看 Shiny 可以做什么的示例,因此我们将确保允许 Web 流量。

检查防火墙

Shiny 是一个 Web 应用程序框架,因此为了在浏览器中查看其示例,我们需要确保防火墙允许 Web 流量。 内置 Web 服务器每次启动时都会随机选择一个端口,除非我们使用特定值启动它。 为了使防火墙管理更容易,我们将在运行示例时指定端口 4040。

让我们检查防火墙的状态,如果我们启用了它:

sudo ufw status

如果您按照我们的先决条件教程进行操作,则仅允许使用 SSH,如以下输出所示:

OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

您可能有其他规则或根本没有防火墙规则。 由于在这种情况下只允许 SSH 流量,我们将添加端口 4040 并在完成后检查状态。

sudo ufw allow 4040/tcp
sudo ufw status
OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
4040/tcp                   ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
4040/tcp (v6)              ALLOW       Anywhere (v6)

配置好防火墙后,我们准备看看 Shiny。

运行闪亮:

我们将以普通用户的身份连接到 R。 请务必输入 R 作为标题大小写。

R

接下来,我们将加载 Shiny 包:

library("shiny")

Shiny 包含 11 个内置示例来演示其工作原理。 我们将加载库,然后运行第一个示例。 因为我们在远程服务器上工作,所以我们将指定主机地址以便从我们的本地计算机进行浏览。 我们还将 launch.browser 设置为 FALSE,这样它就不会尝试在远程服务器上启动浏览器。

runExample("01_hello", host = "203.0.113.0", port = 4040, launch.browser= FALSE)
OutputListening on http://203.0.113.0:4040

让我们在网络浏览器中访问这个 URL:

我们安装 Shiny 是为了说明使用 devtools 直接从 GitHub 存储库安装。 然后我们在没有提升权限的情况下运行示例 Shiny 应用程序,以验证所有用户都可以访问该包。

重新安装稳定版 Shiny

对于生产情况,除非我们有令人信服的理由从存储库安装,否则我们将从 CRAN 安装。

让我们花点时间回到稳定包。 首先,我们将使用 CTRL + C 中断服务器,然后使用 CTRL + D 退出 R shell 并以 root 身份重新输入:

sudo -i R

我们可以使用以下命令安装稳定版本,这将覆盖我们在前面步骤中完成的从 GitHub 安装。

install.packages("shiny")

让我们验证版本的变化:

packageVersion("shiny")
Output[1] ‘1.1.0’

输出表明我们现在运行的是稳定版本,而不是我们从 GitHub 安装的版本 1.1.0.9000

注意: 我们还可以从系统命令行的DESCRIPTION文件中找到有关软件包版本的更多信息。

cat /usr/local/lib/R/site-library/shiny/DESCRIPTION

结论

在本教程中,我们直接从 GitHub 安装了最新的 Shiny 包,并学习了如何从 CRAN 重新安装其稳定版本。

如果您有兴趣了解更多关于 Shiny 本身的信息,可以查看 RStudio 的 Shiny 教程。 您可能还对 安装开源 RStudio Server 感兴趣,这是在远程 Linux 服务器上运行的 R 版本的接口,它将 IDE 带入基于服务器的部署。