如何在Debian 9上安装R

介绍

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

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

准备

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

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

没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

第1步 - 安装依赖项

由于R是一个快速移动的项目,Debian的存储库并不总是提供最新的稳定版本,因此我们需要添加由CRAN维护的外部存储库。为此,我们需要为Debian 9云图像安装一些依赖项。

要执行管理和下载证书的网络操作,我们需要安装dirmngr以便我们可以添加外部存储库。

sudo apt install dirmngr --install-recommends

要向Debian添加PPA引用,我们需要使用add-apt-repository命令。对于此命令可能不可用的安装,您可以通过安装software-properties-common命令将此实用程序添加到系统:

sudo apt install software-properties-common

最后,为了确保我们对安全协议有HTTPS支持,我们将安装以下工具:

sudo apt install apt-transport-https

有了这些依赖关系,我们就可以安装R.

第2步 - 安装R.

对于最新版本的R,我们将从CRAN存储库进行安装。

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

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

sudo apt-key adv --keyserver keys.gnupg.net --recv-key 'E19F5F87128899B192B1A2C2AD5F960A256A04AF'

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

Executing: /tmp/apt-key-gpghome.k3UoM7WQGq/gpg.1.sh --keyserver keys.gnupg.net --recv-key E19F5F87128899B192B1A2C2AD5F960A256A04AF
gpg: key AD5F960A256A04AF: public key "Johannes Ranke (Wissenschaftlicher Berater) <johannes.ranke@jrwb.de>" imported
gpg: Total number processed: 1
gpg:               imported: 1

一旦我们拥有了可信密钥,我们就可以添加存储库。请注意,如果您不使用Debian 9(Stretch),您可以查看支持的R Project Debian分支,以每个版本命名。

sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/debian stretch-cran35/'

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

sudo apt update

输出中应该是类似于以下的行:

在显示的输出中,您应该标识类似于以下内容的行:

...
Get:6 https://cloud.r-project.org/bin/linux/debian stretch-cran35/ InRelease [4,371 B]
Get:7 https://cloud.r-project.org/bin/linux/debian stretch-cran35/ Packages [50.1 kB]
...

如果上面的行显示在update命令的输出中,我们已成功添加了存储库。我们可以肯定我们不会意外安装旧版本。

此时,我们已准备好使用以下命令安装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。

第3步 - 从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的更多信息,请在R解释器中使用help(txtplot)

任何预编译的包都可以用install.packages()从CRAN安装。要了解有关可用内容的更多信息,您可以通过“ 按名称列出的可用CRAN包”列表找到按名称组织的官方软件包列表

要退出R,您可以输入q()。除非您想保存工作区图像,否则可以按n

结论

在服务器上成功安装R之后,您可能会对安装RStudio Server感兴趣,以便将IDE引入刚刚完成的基于服务器的部署。您还可以学习如何设置Shiny服务器以将R代码转换为交互式网页。

想要了解更多关于安装R.的相关教程,请前往腾讯云+社区学习更多知识。


参考文献:《How To Install R on Debian 9》

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

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LIN_ZONE

php 识别二维码(转载)

最开始找的方法是一个叫 php-zbarcode 的扩展,自己照着网上的安装步骤安装了 ImageMagick 和 zbar ,但编译 php-zbarcode...

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

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

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

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

海量数据迁移之数据抽取流程 (r4笔记第72天)

在之前的一些博文中花了大篇幅介绍了采用外部表抽取的一些细节,可能细节到了,基本原理的内容还希望再补充补充。 采用外部表抽取数据的流程图如下: ? 大体标注...

36340
来自专栏黑白安全

Github寻找敏感信息

0x01 引子 先给不知道什么是Github的朋友们科普一下什么是Github Github是一个分布式的版本控制系统,目前拥有140多万开发者用户。随着越...

10430
来自专栏玄魂工作室

利用Png做持久型XSS攻击

关于文件上传漏洞,其实是老生常谈了,其实很多网站都做了很严格的控制。这里我们不去谈如何突破文件上传,而是假设我们能上传一张图片,然后当成html嵌入或者执行。 ...

16320
来自专栏云计算与大数据

架构: UMA vs NUMA

所有处理器共享相同的内存地址空间。这种体系结构主要解决的问题是关于cache一致性。

25610
来自专栏redis集群

redis集群的高可用性实现

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

79540
来自专栏pangguoming

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

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

1.5K60
来自专栏琦小虾的Binary

交叉编译学习笔记(一)——交叉编译和交叉工具链

交叉编译学习笔记(一)——交叉编译和交叉工具链 最近看论文看的烦,又重新拾起之前没有完全完成的交叉编译,准备在网上找资料,好好研究一下。 参考链接: htt...

49370
来自专栏云加头条

腾讯云 CMQ 消息队列测试

最近收到腾讯云提供 CMQ 的内测体验资格,于是对其中的消息队列服务进行消息分发和管理作出测试,并将测试结果以及所遇到的问题进行了汇总。

3.1K00

扫码关注云+社区

领取腾讯云代金券