如何部署 R 开发环境

R是一种开源编程语言,专门用于统计计算和图形绘制。R在统计的基础下,被广泛用于开发统计软件和数据分析。R是一种日益流行且可扩展的语言,拥有活跃的社区,为特定的研究领域提供了许多软件包,使其适用于许多领域。

在本教程中,我们将安装R并演示如何从官方的Comprehensive R Archive Network(CRAN)添加软件包。如果您还没有腾讯云的服务器,可以先点击这里进行免费套餐的试用。免费套餐包含企业版和个人版,超过11款热门产品和42款长期免费的云产品可以供您选择。如果您有长期搭建服务器的需求的话,可以点击这里进行服务器的购买,现在的促销力度很大哦。

第一步,安装R

由于R是一个快速发展的项目,因此Ubuntu的存储库并不总是提供最新稳定的版本,因此我们将首先添加由CRAN维护的外部存储库。

注意: CRAN在其网络中维护存储库,但并非所有外部存储库都是可靠的。请务必仅从受信任的来源安装

我们先添加相关的GPG密钥。

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

当我们运行命令时,我们将得到以下输出:

Executing: /tmp/apt-key-gpghome.4BZzh1TALq/gpg.1.sh --keyserver
keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
gpg: key 51716619E084DAB9: public key "Michael Rutter \<marutter\@gmail.com\>"
imported
gpg: Total number processed: 1
gpg: imported: 1

一旦我们拥有了可信密钥,我们就可以添加存储库。请注意,如果您不使用18.04版本,则可以从R Project Ubuntu列表中找到相应的存储库。

$  sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/'

在显示的输出中,您将获得以下内容的输出:

...
Get:5 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease [3609 B]
...
Get:6 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ Packages [21.0 kB]
...

现在,我们需要运行update,以便更新存储库中的包清单。

$   sudo apt update

输出如下:

...
​
Hit:2 https://cloud.r-project.org/bin/linux/ubuntu bionic-cran35/ InRelease
...

如果得到上面的输出中,说明我们已成功添加了存储库。我们可以肯定我们不会意外安装旧版本。

此时,我们已准备好使用以下命令安装R.

$   sudo apt install r-base

如果提示确认安装,请按 y 继续。

截至撰写本文时,CRAN的最新稳定版R为3.5.1,当您启动R时会显示对应的版本号。

由于我们计划为系统上的每个用户安装一个示例包,我们将以root身份启动R,以便所有用户可以自动使用这些库。或者,如果您在R不使用命令的情况下运行该命令sudo,则可以为您的用户设置个人库。

$  sudo -i R
R version 3.5.1 (2018-07-02) -- "Feather Spray"
Copyright (C) 2018 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
...
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界面。

第二步,从CRAN安装R软件包

R的优势之一是其可用的附加包装丰富。出于演示目的,我们将安装txtplot(一个输出ASCII图形的库),其中包括散点图,线图,密度图,acf和条形图:

>   install.packages('txtplot')

注意:以下输出显示了软件包的安装位置。 ... Installing package into ‘/usr/local/lib/R/site-library’ (as ‘lib’ is unspecified) ... 这个站点范围的路径是可用的,我们用root身份运行R,这是使所有用户都可以使用该程序包的正确位置。

当安装完成后,我们可以加载txtplot:

>   library('txtplot')

如果没有错误消息,则表示库已成功加载。现在让我们使用一个示例来演示它,该示例演示了带有轴标签的基本绘图功能。由R的datasets包提供的20世纪20年代汽车速度和停车所需距离的数据示例:

$   txtplot(cars[,1], cars[,2], xlab = 'speed', ylab = 'distance')
      +----+-----------+------------+-----------+-----------+--+
  120 +                                                   *    +
      |                                                        |
d 100 +                                                   *    +
i     |                                    *                *  |
s  80 +                          *         *                   +
t     |                                       * *    *    *    |
a  60 +                          *  *      *    *      *       +
n     |                        *         * *  * *              |
c  40 +                *       * *    *  *    * *              +
e     |         *      *  * *  * *  *                          |
   20 +           *    *  * *       *                          +
      |  *      *    *                                         |
    0 +----+-----------+------------+-----------+-----------+--+
           5          10           15          20          25   
                            speed

如果您有兴趣了解更多信息txtplot,请help(txtplot)在R解释器中使用。

任何预编译的包都可以从CRAN安装install.packages()。要了解有关可用内容的更多信息,您可以通过CRAN

找到按官方软件包列表。

结论

在服务器上成功安装R之后,您可能会对Ubuntu安装和搭建其他框架感兴趣。若您想在实验室环境抢先体验搭建自己的网站,博客或者各类应用,我推荐您到腾讯云实验室页面进行选择,不仅有步骤指导,还可以免费上机,帮助您快速掌握开发知识!

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

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

用MTR诊断网络问题

MTR是一个功能强大的工具,使管理员能够诊断和隔离网络错误,并向上游提供商提供网络状态报告。MTR表示的演进traceroute通过提供更大的数据样本,好像增强...

3.1K50
来自专栏友弟技术工作室

浅谈LVS

集群(cluster),从字面上就知道,集与群都是多的概念。集群就是多台机器组合在一起共同完成一个需求。

12130
来自专栏云原生架构实践

微服务体系三维可缩放模型

X轴缩放包括在负载均衡器后面运行的应用程序的多个副本。如果有N个副本,则每个副本处理1 / N的负载。

66520
来自专栏玉树芝兰

如何用R和API免费获取Web数据?

API是获得Web数据的重要途径之一。想不想了解如何用R调用API,提取和整理你需要的免费Web数据呢?本文一步步为你详尽展示操作流程。

15020
来自专栏非著名程序员

推荐几个适合新人上手的Python项目

10920
来自专栏黄奕坤的专栏

火焰图性能调优记

最近手头开发维护的一个辅助小工具经常接到投诉可用性问题, 于是抽时间定位了下, 一看吓一跳, 起初不起眼的一个组件的日志量直接翻了两个数量级。 这怎么吃得消 !

87020
来自专栏MessageQueue

译《Time, Clocks, and the Ordering of Events in a Distrib...》

《Time, Clocks, and the Ordering of Events in a Distributed System》大概是在分布式领域被引用的最...

10920
来自专栏我是攻城师

分布式日志收集之Logstash 笔记(二)

34060
来自专栏Python爬虫与算法进阶

告别win10,拥抱linux

我的回答:是,明明已经把自动更新关闭了,可是还是会有“易升”,win10易升一直卸载不掉。所以就想试试别的系统。

86520
来自专栏个人分享

分布式系统常用思想和技术

感谢该作者的总结,转载地址:http://blog.arganzheng.me/  本人将重点进行加粗,便于大家一起查阅学习

16430

扫码关注云+社区

领取腾讯云代金券