如何在 Ubuntu 20.04 上安装 R

介绍

R是一个开源编程语言,广泛用于执行数据分析和统计计算,并得到R统计计算基金会的支持,它是一个日益流行的和可扩展的语言,具有活跃的社区。

在本教程中,我们将安装 R 并展示如何从官方 全面 R 档案网络 (CRAN)中添加包。

前提条件

要跟随本教程,您将需要一个 Ubuntu 20.04 服务器:

  • 至少 1GB RAM 具有sudo特权的非根用户

要了解如何实现此设置,请遵循我们的 初始服务器设置指南

一旦这些先决条件到位,你就准备好开始了。

步骤 1 - 安装 R

由于R是一个快速移动的项目,最新的稳定版本并不总是从Ubuntu的存储库中可用,所以我们将首先添加由CRAN维护的外部存储库。

<$>[注] 注: CRAN 维护其网络中的存储库,但并非所有外部存储库都是可靠的。

让我们先添加相应的 GPG 密钥。

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

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

1[secondary_label Output]
2Executing: /tmp/apt-key-gpghome.cul0ddtmN1/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
3gpg: key 51716619E084DAB9: public key "Michael Rutter <[email protected]>" imported
4gpg: Total number processed: 1
5gpg:               imported: 1

一旦我们有信任密钥,我们可以添加存储库。

请注意,如果你不使用 20.04,你可以从 R Project Ubuntu 列表中找到相应的存储库,每个版本都被命名为 Ubuntu 20.04 被称为 Focal Fossa,而 R 的最新版本是 4.0.0,因此下面的存储库的命名惯例是 focal-cran40

1sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/'

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

1[secondary_label Output]
2...
3Get:7 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ InRelease [3622 B]                  
4Get:8 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ Packages [15.6 kB]
5...

现在,我们需要在此之后运行更新,以便从新存储库中包含包宣言。

1sudo apt update

确保一个输出线与以下相似:

1[secondary_label Output]
2...
3Hit:5 https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/ InRelease
4...

如果上面的行出现在更新命令的输出中,我们已经成功地添加了存储库。

在此时刻,我们准备用以下命令安装R。

1sudo apt install r-base

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

截至写作时,CRAN 的最新稳定版本为 4.0.1,当您启动 R 时显示。

由于我们计划为系统上的每个用户安装一个示例包,我们将以 root 启动 R,以便图书馆自动向所有用户开放。

1sudo -i R
 1[secondary_label Output]
 2
 3R version 4.0.0 (2020-04-24) -- "Arbor Day"
 4Copyright (C) 2020 The R Foundation for Statistical Computing
 5Platform: x86_64-pc-linux-gnu (64-bit)
 6...
 7Type 'demo()' for some demos, 'help()' for on-line help, or
 8'help.start()' for an HTML browser interface to help.
 9Type 'q()' to quit R.
10
11>

这证实了我们已经成功安装了R并进入了其交互式壳。

步骤 2 — 从 CRAN 安装 R 包

R的优势部分在于其可用的丰富的附加包。为了演示目的,我们将安装 txtplot,一个输出 ASCII 图表的库,其中包括 scatterplot,线程图,密度图,acf 和条形图表:

1install.packages('txtplot')

<$>[注] 注: 以下输出显示将安装该包的位置。

1[secondary_label Output]
2...
3Installing package into /usr/local/lib/R/site-library
4(as lib is unspecified)
5...

这个整个网站的路径是可用的,因为我们运行了R作为根. 这个位置将使包可供所有用户使用。

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

1library('txtplot')

如果没有错误消息,图书馆已成功加载,现在让我们用一个示例来示范用轴标签的基本拼图功能。由R的数据集包提供的示例数据包含(基于20世纪20年代的数据,汽车的速度和停止所需的距离):

1txtplot(cars[,1], cars[,2], xlab = 'speed', ylab = 'distance')
 1[secondary_label Output]
 2      +----+-----------+------------+-----------+-----------+--+
 3  120 +                                                   *    +
 4      |                                                        |
 5d 100 +                                                   *    +
 6i     |                                    *                *  |
 7s 80 +                          *         *                   +
 8t     |                                       * *    *    *    |
 9a 60 +                          *  *      *    *      *       +
10n     |                        *         * *  * *              |
11c 40 +                *       * *    *  *    * *              +
12e     |         *      *  * *  * *  *                          |
13   20 +           *    *  * *       *                          +
14      |  *      *    *                                         |
15    0 +----+-----------+------------+-----------+-----------+--+
16           5 10 15 20 25   
17                                speed

如果您有兴趣了解更多关于txtplot的信息,请从R翻译器中使用帮助(txtplot)

任何预编译的软件包都可以从 CRAN 安装使用 install.packages(). 有关可用软件的更多信息,您可以通过 Available CRAN Packages By Name list找到由名称组成的官方软件包列表。

若要退出 R,您可以键入 q(). 当提示时,您可以按 n,除非您想要保存工作区图像。

结论

随着 R 成功安装在您的服务器上,您可能对 安装 RStudio 服务器的本指南感兴趣,以便将 IDE 带到您刚刚完成的基于服务器的部署中。

有关如何通过利用不同的工具来安装 R 包的更多信息,您可以阅读如何直接从 GitHub、BitBucket 或其他位置安装(https://andsky.com/tech/tutorials/how-to-install-r-packages-using-devtools)。

Published At
Categories with 技术
Tagged with
comments powered by Disqus