如何在CVM上安装R

介绍

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

在本教程中,我们将安装R并演示如何从官方的Comprehensive R Archive Network(CRAN)添加软件包。

准备

学习本教程,需要一台安装好Ubuntu系统的服务器,我建议您使用腾讯云免费的开发者专属在线实验平台进行试验。

  • 至少 1GB的RAM
  • 具有sudo权限的非root用户

直接使用腾讯云配置Ubuntu 云服务器,本教程的默认版本为Ubuntu 18.04,具体的配置指南详见云学院教程

接下来就可以开始下面的安装步骤。

第一步,安装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安装和搭建其他框架感兴趣。有关CVM腾讯云服务器的相关知识可以具体参考腾讯云学院中腾讯云服务器CVM的基础应用课程。同时可以通过关注腾讯云及时获取我们的最新作品。


参考文献:《How To Install R on Ubuntu 18.04》

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Ksher

Kubernetes服务网格(第10部分):服务网格API

翻译人:Ksher,该成员来自云+社区翻译社

212100
来自专栏Java架构沉思录

深入浅出Unix IO模型

在介绍Unix IO模型之前,我们先来说说什么是IO。根据维基百科的定义,IO的指的是输入输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出...

12020
来自专栏c#开发者

使用Web Client Software Factory构建企业级web应用

Web Client Software Factory初始 简介 Web客户端软件工厂( wcsf )提供了一套指导建筑师和开发人员来构建企业级的Web应用...

35340
来自专栏Java架构沉思录

深入浅出Unix IO模型

前言 在介绍Unix IO模型之前,我们先来说说什么是IO。根据维基百科的定义,IO 指的是输入输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入...

47870
来自专栏飞雪无情的博客

Go语言IDE GoLand激活最新版

今天写Go语言相关的小程序的时候,发现我的go语言IDE有点旧了,2016版本的,就打算升级一下。

15.8K10
来自专栏开源项目

技术创新,基于 React Native 的开源项目 | 码云周刊第 17 期

摘要: 每周为您推送最有价值的开源技术内参! 码云教学 Android Studio 中的项目上传到码云上 作者:@hjqjl 一、首先下载git,并安装 ht...

37080
来自专栏架构师之路

高并发的常见应对方案

一、关于并发 我们说的高并发是什么? 在互联网时代,高并发,通常是指,在某个时间点,有很多个访问同时到来。 高并发,通常关心的系统指标与业务指标? QPS:每秒...

66470
来自专栏瓜大三哥

块RAM的Verilog HDL调用

(1)单端口RAM 模式 单端口RAM的模型如图所示,只有一个时钟源CLK,WE为写使能信号,EN为单口RAM使能信号,SSR为清零信号,ADDR为地址信号,D...

42980
来自专栏Java后端技术

你误解了Windows的文件后缀名吗?

  有很多的小伙伴对windows下的文件后缀名不能很好地理解作用和区别,更不用说高深的使用了,在这里给大家说一下这些文件后缀名到底有什么区别,有什么作用呢?

10110
来自专栏云计算

Kubernetes服务网格(第10部分):服务网格API

作为上个月发布的Linkerd 1.0的一部分,我们发现一些人已经开始注意Linkerd的服务网格API。随着1.0版本的发布,我们认为需要花些时间来解释这个A...

23460

扫码关注云+社区

领取腾讯云代金券