前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 18.04上使用devtools安装R包

如何在Ubuntu 18.04上使用devtools安装R包

原创
作者头像
小铁匠米兰的v
修改2018-10-12 17:41:40
5.6K0
修改2018-10-12 17:41:40
举报
文章被收录于专栏:云计算教程系列

介绍

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

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

准备

要继续学习本教程,您需要一台Ubuntu 18.04服务器:

  • 一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器
  • 至少 1GB的RAM
  • 安装R

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

步骤1 - 为devtools安装系统依赖项

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

代码语言:javascript
复制
sudo apt install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev

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

第2步 - 安装devtools包

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

代码语言:javascript
复制
sudo -i R

从监视器内部,我们将使用该install.packages() 功能devtools从官方的Comprehensive R Archive Network(CRAN)进行安装。

代码语言:javascript
复制
install.packages('devtools')

安装可能需要一段时间。当它完成时,接近安装输出的末尾,我们应该看到:

代码语言:javascript
复制
...
** testing if installed package can be loaded
* DONE (devtools)

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

第3步 - 从GitHub安装R包

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

使用以下命令安装:

代码语言:javascript
复制
devtools::install_github('rstudio/shiny')

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

代码语言:javascript
复制
. . .
** testing if installed package can be loaded
* DONE (shiny)
>

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

代码语言:javascript
复制
packageVersion("shiny")
代码语言:javascript
复制
[1] ‘1.1.0.9000’

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

代码语言:javascript
复制
q()

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

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

检查防火墙

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

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

代码语言:javascript
复制
sudo ufw status

如果您遵循我们的必备教程,则只允许SSH,如以下输出所示:

代码语言:javascript
复制
Status: active
​
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)

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

代码语言:javascript
复制
sudo ufw allow 4040/tcp
sudo ufw status
代码语言:javascript
复制
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标题大小写。

代码语言:javascript
复制
R

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

代码语言:javascript
复制
library("shiny")

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

代码语言:javascript
复制
runExample("01_hello", host = "203.0.113.0", port = 4040, launch.browser= FALSE)
代码语言:javascript
复制
Listening on http://203.0.113.0:4040

我们在网络浏览器中访问此网址:

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

重新安装Shiny版本的Shiny

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

让我们花一点时间回到稳定的包裹。首先,我们将中断与服务器CTRL+ C,然后退出将R壳CTRL+ D并重新输入它作为根:

代码语言:javascript
复制
sudo -i R

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

代码语言:javascript
复制
install.packages("shiny")

让我们验证版本的变化:

代码语言:javascript
复制
packageVersion("shiny")
代码语言:javascript
复制
[1] ‘1.1.0’

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

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

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
    • 准备
      • 步骤1 - 为devtools安装系统依赖项
        • 第2步 - 安装devtools包
          • 第3步 - 从GitHub安装R包
            • 检查防火墙
            • 运行闪亮:
          • 重新安装Shiny版本的Shiny
            • 结论
            相关产品与服务
            云服务器
            云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档