介绍
R 是一种流行的开源编程语言,专门研究统计计算和图形。 它广泛用于开发统计软件和执行数据分析。 R 社区以不断为特定研究领域添加用户生成的包而闻名,这使其适用于许多领域。
在本教程中,我们将介绍如何安装 devtools 并使用它直接从 GitHub 安装 R 包。
先决条件
要学习本教程,您将需要一个 Ubuntu 18.04 服务器:
一旦这些先决条件到位,您就可以开始了。
第 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 带入基于服务器的部署。