R是一种流行的开源编程语言,专门研究统计计算和图形。它广泛用于开发统计软件和执行数据分析。R社区以不断为特定研究领域添加用户生成的包而闻名,这使其适用于许多领域。
在本教程中,我们将讨论如何安装devtools并使用它直接从GitHub安装R包。
要继续学习本教程,您需要一台Ubuntu 18.04服务器:
sudo
命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。一旦满足这些先决条件,您就可以开始了。
我们将从交互式shell安装devtools,但在此之前,我们需要安装这些系统依赖项:
sudo apt install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev
有了这些依赖关系,我们就可以继续了。
通过devtools,我们将能够直接从GitHub,BitBucket,本地文件安装和构建软件包,并从CRAN安装特定版本。为了使devtools在系统范围内可用,我们将以root身份输入R的shell:
sudo -i R
从监视器内部,我们将使用该install.packages()
功能devtools
从官方的Comprehensive R Archive Network(CRAN)进行安装。
install.packages('devtools')
安装可能需要一段时间。当它完成时,接近安装输出的末尾,我们应该看到:
...
** testing if installed package can be loaded
* DONE (devtools)
接下来,我们将直接从GitHub获取和构建项目时进行测试。
在这一步中,我们将直接从GitHub安装Shiny的最新开发版本,这是一个R的Web应用程序框架。我们将使用devtools提供的install_github
功能执行此操作。GitHub包由author(rstudio
)及其名称(shiny
)定义,您可以从主项目页面的GitHub URL中找到它:https://github.com/rstudio/shiny
。
使用以下命令安装:
devtools::install_github('rstudio/shiny')
当我们在输出结尾附近看到以下行并返回到R提示时,安装已成功完成:
. . .
** testing if installed package can be loaded
* DONE (shiny)
>
我们可以使用以下命令查看我们安装的Shiny的特定版本:
packageVersion("shiny")
[1] ‘1.1.0.9000’
在下一步中,我们将快速浏览一下Shiny。我们首先需要执行几个系统级任务,因此我们将使用以下命令或使用CTRL-D退出监视器:
q()
其中任何一个都会提示您保存工作区图像,R的工作环境包括用户定义的对象。这不是我们的目的,所以你可以安全地输入n
。
由于我们将使用Web浏览器查看Shiny可以执行的示例,因此我们将确保允许Web流量。
Shiny是一个Web应用程序框架,因此为了在浏览器中查看其示例,我们需要确保在我们的防火墙上允许Web流量。内置Web服务器在每次启动时随机选择一个端口,除非我们使用特定值启动它。为了简化防火墙管理,我们在运行示例时指定端口4040。
让我们检查防火墙的状态,如果我们启用它:
sudo ufw status
如果您遵循我们的必备教程,则只允许SSH,如以下输出所示:
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
您可能有其他规则或根本没有防火墙规则。由于在这种情况下只允许SSH流量,我们将添加端口4040并在完成后检查状态。
sudo ufw allow 4040/tcp
sudo ufw status
Status: 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)
Listening on http://203.0.113.0:4040
我们在网络浏览器中访问此网址:
我们安装Shiny来说明使用devtools直接从GitHub存储库安装。然后,我们运行了没有提升权限的示例Shiny应用程序,以验证所有用户是否都可以访问该程序包。
对于生产情况,我们将从CRAN安装,除非我们有令人信服的理由从存储库安装。
让我们花一点时间回到稳定的包裹。首先,我们将中断与服务器CTRL
+ C
,然后退出将R壳CTRL
+ D
并重新输入它作为根:
sudo -i R
我们可以使用以下命令安装稳定版本,该命令将覆盖我们在前面步骤中完成的GitHub安装。
install.packages("shiny")
让我们验证版本的变化:
packageVersion("shiny")
[1] ‘1.1.0’
输出表明我们现在正在运行稳定版本,而不是我们从GitHub安装的1.1.0.9000
版本。
注意:我们还可以从描述文件的系统命令行中找到有关软件包版本的更多信息。
cat /usr/local/lib/R/site-library/shiny/DESCRIPTION
在本教程中,我们直接从GitHub安装了最新的Shiny软件包,并学习了如何从CRAN重新安装其稳定版本。
如果您有兴趣了解有关Shiny本身的更多信息,可以查看RStudio的Shiny教程。
更多Ubuntu教程请前往腾讯云+社区学习更多知识。
参考文献:《How to Install R Packages using devtools on Ubuntu 18.04》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。