如何在Ubuntu 14.04上设置R.

介绍

R是一种流行的开源编程语言,专门用于统计计算和图形。它被统计学家广泛用于开发统计软件和执行数据分析。R的优势之一是允许用户创作和提交自己的包,因此它具有高度且易于扩展的特点。众所周知,R社区非常活跃,并且因为不断为特定研究领域添加用户生成的统计软件包而着称,这使得R适用于许多研究领域。

“综合R档案网络”(CRAN)是一系列站点(称为镜像),它们携带相同的材料,由许多R包和R分发本身组成。您可以从任何CRAN镜像下载R和许多R软件包,但我们将使用RStudio镜像。

在本指南中,我们将学习如何在运行Ubuntu 14.04的腾讯CVM上设置R. 如果CVM运行的是其他操作系统,则大多数指令仍然适用,但您可能需要修改某些命令。完成本指南后大约需要10-15分钟。

先决条件

在本教程中,您将需要:

  • 一个Ubuntu 14.04 腾讯VM,至少有1 GB的RAM。本教程中的所有命令都应以非root用户身份运行。如果命令需要root访问权限,则前面会有sudo。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

第1步 - 设置APT

要安装R,我们将使用APT(高级打包工具)工具。它使用一个特殊文件列出了应从中下载软件包的来源。那个文件是/etc/apt/sources.list。为了获得最新版本的R,我们需要通过在sources文件中添加一行来将正确的存储库添加到源列表中。您需要添加的确切行将根据确切的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'

要验证使用APT下载的软件包,我们必须添加一个公钥。CRAN上的Ubuntu存档使用ID为E084DAB9的密钥进行签名。将此密钥添加到您的系统。

gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9

接下来我们需要添加密钥到apt

gpg -a --export E084DAB9 | sudo apt-key add -

第2步 - 安装R.

既然已经正确设置了APT,我们就可以使用它来安装R.

首先,我们需要更新可用包列表,因为我们更新了源列表。

sudo apt-get update

现在我们可以安装R. 当被问及我们是否确定要下载软件包时,我们使用该-y标志自动回答“ 是”

sudo apt-get -y install r-base

此时,您应该在腾讯CVM上安装最新的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()函数返回腾讯CVM :

q(save = "no")

第3步 - 从CRAN安装R软件包

现在你的CVM上安装了R,CVM上的任何用户都可以使用R。当安装R时,它会自动安装许多默认包,但为了在R中做任何真正有意义的事情,你可能需要安装额外的包。为了安装许多软件包,至少有1 GB的RAM是很重要的。

如前所述,CRAN不仅托管R本身,还托管许多R软件包。要安装CRAN上托管的新R包,或更新现有R包,可以使用R中的install.packages()函数。如果要安装包somepackage,可以打开R并运行以下R命令。

# This is an example, do not run this
install.packages("somepackage")

但是,默认情况下,R中特定用户安装的任何程序包只能供该用户使用。例如,如果用户sammy安装了somepackage,那么用户jessie在安装它之前将无法使用somepackage。

可以通过以root身份的方法来让安装了腾讯CVM的所有用户来安装R包。作为一个例子,让我们安装shiny包,这是一个非常流行的包,用于从R代码创建Web应用程序。安装程序包作为单程将登录为,运行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软件包可供CVM上的所有用户使用。

让我们通过尝试加载来验证是否已正确安装shiny。开始R会话。

R

在R中,尝试加载shiny包。

library(shiny)

运行上一个命令应该不会导致错误。现在退出R.

q(save = "no")

第4步 - 安装devtools

虽然许多R软件包托管在CRAN上并且可以使用内置install.packages()函数进行安装,但是有更多软件包托管在GitHub上但不在CRAN上。要从GitHub安装R软件包,我们需要使用devtoolsR软件包,所以让我们安装它。

所述devtoolsR包需要将要在腾讯CVM上安装三个系统软件包libcurl4-gnutls-devlibxml2-devlibssl-devc。安装这三个包:

sudo apt-get -y install libcurl4-gnutls-dev libxml2-dev libssl-dev

现在可以安装devtoolsR包。请记住,我们希望使用与上述相同的方法安装它,而不是将其安装在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运行该命令,以使所有用户都可以使用该软件包。让我们尝试安装shinyjsGitHub包,它可以为shiny包添加功能。GitHub包由其author(daattali)及其名称(shinyjs)定义。

sudo su - -c "R -e \"devtools::install_github('daattali/shinyjs')\""

让我们通过尝试加载来验证shinyjs是否已正确安装。开始R会话。

R

在R中,尝试加载shinyjs包。

library(shinyjs)

运行上一个命令可能会产生一些消息,但不会显示错误消息。现在退出R.

q(save = "no")

下一步

您现在可以在腾讯CVM上安装R。

要了解有关R的更多信息,请访问官方R网站,或尝试使用该swirl软件包学习R实践和交互式。

有关CRAN及其提供的更多信息,请访问CRAN官方网站

##

在本指南中,我们完成了在Ubuntu 14.04 腾讯CVM上设置R所需的步骤。我们还了解了从GitHub和CRAN安装R软件包之间的区别,以及如何确保这些软件包可供CVM上的所有用户使用。

更多Ubuntu教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Set Up R on Ubuntu 14.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python爬虫与数据挖掘

手把手教你进行R语言的安装及安装过程中相关问题解决方案

这篇文章旨在为R语言的新手铺砖引路,行文相对基础,希望对在R语言安装上有问题的小伙伴提供帮助和指引。

17940
来自专栏Java后端技术

Nginx实现tomcat集群进行负载均衡

  随着业务量和用户数量的激增,单一的tomcat部署应用已经无法满足性能需求,而且对于每次发布项目期间服务不可用的问题也凸显,既然出现了这个问题,那么我们本文...

14820
来自专栏杨建荣的学习笔记

数据迁移工具简单分析 (r2笔记59天)

exp/imp 对于数据结构的复制和同步,还是比较理想的工具。 在数据量比较小的情况下,这个工具的性能要远远好于datapump,而且重点推荐,他对于各种常用...

30050
来自专栏FreeBuf

Linux内核中的递归漏洞利用

6月1号,我提交了一个linux内核中的任意递归漏洞。如果安装Ubuntu系统时选择了home目录加密的话,该漏洞即可由本地用户触发。如果想了解漏洞利用代码和短...

31560
来自专栏pangguoming

图解正向代理、反向代理、透明代理

一、正向代理(Forward Proxy)    一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术。关于正向代理的概念如下: 正向代理(forwar...

1.5K60
来自专栏c++ tensorflow

Tensorflow c++实践(使用cmake vs2015 编译tensorflow源码)

写这篇文章的主要目的是为了总结这一个多月对tensorflow应用到c++语言上面走过的路。因为身边的人都少有使用c++实现tensorflow的使用,都是自己...

6.6K100
来自专栏性能与架构

nginx 负载均衡策略

1. 轮询 轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如: upstream backend { server...

37270
来自专栏redis集群

redis集群的高可用性实现

当主从的redis性能和容量满足不了项目的需求时,一般会采用集群方案。而原生的集群方案是一个比较好的选择。本文主要是讨论如何保证集群版高可用。高...

77940
来自专栏逆向技术

脱壳第三讲,UPX压缩壳,以及补充壳知识

           脱壳第三讲,UPX压缩壳,以及补充壳知识 一丶什么是压缩壳.以及壳的原理 在理解什么是压缩壳的时候,我们先了解一下什么是壳 1.什么是壳 ...

29480
来自专栏耕耘实录

再提一下Linux系统中的MD5校验

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢。

24650

扫码关注云+社区

领取腾讯云代金券