在Ubuntu 16.04上安装R的方法

news/2024/9/22 13:28:04 标签: ubuntu, r语言, linux

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

简介

R 是一种流行的开源编程语言,专门用于统计计算和图形处理。它被广泛用于开发统计软件和进行数据分析。R 很容易扩展,社区以不断添加特定研究领域的用户生成包而闻名,这使得它适用于许多领域。

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

先决条件

要跟着做,你需要一个 Ubuntu 16.04 服务器,具备以下条件:

  • 至少 1GB 的 RAM
  • 一个具有 sudo 权限的非 root 用户。要了解如何设置,请参考我们的初始服务器设置指南。

一旦满足这些先决条件,你就可以开始了。

步骤 1 — 安装 R

R 是一个快速发展的项目,最新的稳定版本并不总是可以从 Ubuntu 的仓库中获取,因此我们将首先添加由 CRAN 维护的外部仓库:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
E298A3A825C0D65DFD57CBB651716619E084DAB9
gpg: requesting key E084DAB9 from hkp server keyserver.ubuntu.com
gpg: key E084DAB9: public key "Michael Rutter <marutter@gmail.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

一旦我们在每台服务器的数据库中有了可信任的密钥,我们就可以添加仓库。

sudo add-apt-repository 'deb [arch=amd64,i386] https://cran.rstudio.com/bin/linux/ubuntu xenial/'

我们需要在此之后运行 update 命令,以便从新仓库中包含软件包清单:

sudo apt-get update
. . .
Get:6 https://cran.rstudio.com/bin/linux/ubuntu xenial/ InRelease [3,590 B]
Get:7 https://cran.rstudio.com/bin/linux/ubuntu xenial/ Packages [31.5 kB]
. . .

如果上面的行出现在 update 命令的输出中,那么我们已经成功添加了仓库。我们可以确保不会意外安装旧版本。

现在我们准备安装 R:

sudo apt-get install r-base

在撰写本文时,CRAN 的最新稳定版本是 3.3.1,在启动 R 时会显示。由于我们计划为系统上的所有用户安装示例包,因此我们将以 root 用户身份启动 R,以便库将自动对所有用户可用:

sudo -i R
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
. . .
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。

步骤 2 — 从 CRAN 安装 R 包

R 的强大之处之一在于其丰富的附加包。为了演示目的,我们将安装 txtplot,一个可以输出 ASCII 图形(包括散点图、折线图、密度图、自相关函数图和条形图)的库:

install.packages('txtplot')

在安装过程中,你将被要求选择要安装的镜像:

--- 请选择此会话中要使用的 CRAN 镜像 ---
HTTPS CRAN 镜像

1: 0-Cloud [https]                 2: Algeria [https]
3: Australia (Melbourne) [https]   4: Australia (Perth) [https]
5: Austria [https]                 6: Belgium (Ghent) [https]
7: Brazil (SP 1) [https]           8: Bulgaria [https]
9: Canada (MB) [https]            10: Chile [https]
11: China (Beijing 4) [https]      12: Colombia (Cali) [https]
13: Czech Republic [https]         14: Denmark [https]
15: France (Lyon 1) [https]        16: France (Lyon 2) [https]
17: France (Marseille) [https]     18: France (Paris 2) [https]
19: Germany (Falkenstein) [https]  20: Germany (Münster) [https]
21: Iceland [https]                22: Ireland [https]
23: Italy (Padua) [https]          24: Japan (Tokyo) [https]
25: Malaysia [https]               26: Mexico (Mexico City) [https]
27: New Zealand [https]            28: Norway [https]
29: Philippines [https]            30: Russia (Moscow) [https]
31: Serbia [https]                 32: Spain (A Coruña) [https]
33: Spain (Madrid) [https]         34: Switzerland [https]
35: Taiwan (Chungli) [https]       36: Turkey (Denizli) [https]
37: UK (Bristol) [https]           38: UK (Cambridge) [https]
39: UK (London 1) [https]          40: USA (CA 1) [https]
41: USA (IA) [https]               42: USA (KS) [https]
43: USA (MI 1) [https]             44: USA (TN) [https]
45: USA (TX) [https]               46: USA (WA) [https]
47: (HTTP mirrors)

Selection: 1

我们输入 1 选择 0-Cloud,这将连接我们到由 RStudio 提供的内容交付网络(CDN),以获取地理位置最近的选项。此镜像将被设置为会话的默认值。一旦退出 R 并重新进入,你将被提示再次选择镜像。

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

library('txtplot')

如果没有错误消息,那么库已成功加载。现在让我们通过一个示例来看看它的效果,该示例演示了一个带有轴标签的基本绘图函数。该示例数据由 R 的 datasets 包提供,包含了 1920 年代的汽车速度和制动距离:

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) 来了解更多。

可以使用 install.packages() 从 CRAN 安装任何预编译的包。要了解更多可用内容,你可以在任何镜像上的“Packages”链接下找到按名称或发布日期组织的官方包列表。

结论

现在您已成功安装了 R,您可能对安装开源的 RStudio 服务器感兴趣。RStudio 服务器是一个运行在远程 Linux 服务器上的 R 版本的界面,它为您刚刚完成的基于服务器的部署带来了一个集成开发环境(IDE)。您可能还对如何直接从 GitHub、BitBucket 或其他位置安装感兴趣,以便充分利用活跃社区的最新工作。


http://www.niftyadmin.cn/n/5670344.html

相关文章

leetcode第十四题:最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。 1 < strs.length < 200 0 < strs[i].length < 200 strs[i] 仅由小写英文字母组成 如果不存在公共前缀&#xff0c;返回空字符串 ""。 示例 1&#xff1a; 输入&#xff1a;strs ["flower"…

并行编程实战——TBB中的Task Scheduler

一、Task Scheduler Task Scheduler,任务调度器。其实这个名词相对来说非常容易理解&#xff0c;毕竟从学习计算机开始&#xff0c;从操作系统的进程管理到内存管理&#xff0c;再到分布式中的各种任务管理&#xff0c;其中一个重要之处就在于任务的调度。现实世界中就是对工作…

新峰商城之订单(一):确认页面开发

新峰商城订单从生成到处理结束&#xff0c;主要以下几个流程&#xff1a; &#xff08;1&#xff09;提交订单&#xff08;商城用户发起&#xff09; &#xff08;2&#xff09;订单入库&#xff08;后台逻辑&#xff09; &#xff08;3&#xff09;支付订单&#xff08;商城…

14.面试算法-字符串常见算法题(三)

1. 字符串回文问题 1.1 LeetCode.125. 验证回文串 回文问题在链表中是重点&#xff0c;在字符串中同样是个重点。当初我去美团面试第一轮技术面的第一个算法题就是让写判断字符串回文的问题。 这个本身还是比较简单的&#xff0c;只要先转换成字符数组&#xff0c;然后使用双…

java实现LRU 缓存

如果碰到这种题⽬先不要慌张&#xff0c;现在脑海⾥回忆⼀遍 LRU 的基本概念&#xff1a;LRU&#xff08;Least Recently Used&#xff0c;最近最少使⽤&#xff09;是⼀种缓存算法&#xff0c;其核⼼思想是将最近最少使⽤的缓存项移除&#xff0c;以便为更常 ⽤的缓存项腾出空…

Dify 中的讯飞星火平台工具源码分析

本文主要对 Dify 中的讯飞星火平台工具 spark 进行了源码分析&#xff0c;该工具可根据用户的输入生成图片&#xff0c;由讯飞星火提供图片生成 API。通过本文学习可自行实现将第三方 API 封装为 Dify 中工具的能力。 源码位置&#xff1a;dify-0.6.14\api\core\tools\provide…

入门Django

Django Django 简介URL组成部分详解第一个Django项目创建一个Django项目运行Django项目项目结构介绍project和app的关系 URL与视图函数的映射URL的两种传参方式在URL中携带参数 path函数url路由模块化url反转 Django 简介 Django 是一个高级的 Python Web 框架&#xff0c;用于…

windows@文件系统链接@快捷方式@快捷键方式和符号链接及其对比

文章目录 abstract快捷方式和符号链接的比较创建方式快捷方式的作用快捷方式的构成如何创建快捷方式快捷方式的管理快捷方式的高级用法快捷方式的命令行创建 对比&#x1f47a;快捷方式与符号链接的区别符号链接支持相对路径解析具体使用场景&#x1f47a;总结 abstract 快捷方…