在Ubuntu 16.04上安装R的方法

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

简介

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          25speed

如果你对 txtplot 感兴趣,可以使用 help(txtplot) 来了解更多。

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

结论

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/429137.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java汽车销售管理

技术架构&#xff1a; springboot mybatis Mysql5.7 vue2 npm node 功能描述&#xff1a; 针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能&#xff0c;提供经理和销售两种角色进行管理 效果图&#xff1a;

Python基础学习(3)

目录 一&#xff0c;函数 1&#xff0c;函数的定义 2&#xff0c;函数的参数 1&#xff0c;默认值 2&#xff0c;传参 3&#xff0c;返回值 4&#xff0c;变量的作用域 5&#xff0c;函数的调用 二&#xff0c;常用数据结构 1&#xff0c;列表 列表的定义 列表的特性…

【Geoserver使用】REST API调用(工作空间部分)

文章目录 前言一、Geoserver REST API(GeoServer Workspace)二、GeoServer Workspace接口使用1.GET请求 /workspaces2.POST请求 /workspaces3.GET请求 /workspaces/{workspaceName}4.PUT /workspaces/{workspaceName}5.DELETE /workspaces/{workspaceName} 总结 前言 根据Geos…

C++ | Leetcode C++题解之第423题从英文中重建数字

题目&#xff1a; 题解&#xff1a; class Solution { public:string originalDigits(string s) {unordered_map<char, int> c;for (char ch: s) {c[ch];}vector<int> cnt(10);cnt[0] c[z];cnt[2] c[w];cnt[4] c[u];cnt[6] c[x];cnt[8] c[g];cnt[3] c[h] - …

YOLOv10 简介

YOLOv10&#xff0c;由清华大学的研究人员基于 Ultralytics Python 包构建&#xff0c;引入了一种全新的实时目标检测方法&#xff0c;该方法解决了以往 YOLO 版本中后处理和模型架构方面的不足。通过消除非极大值抑制&#xff08;NMS&#xff09;并优化各种模型组件&#xff0…

【解决】chrome 谷歌浏览器,鼠标点击任何区域都是 Input 输入框的状态,能看到输入的光标

chrome 谷歌浏览器&#xff0c;鼠标点击任何区域都是 Input 输入框的状态&#xff0c;能看到输入的光标 今天打开电脑的时候&#xff0c;网页中任何文本的地方&#xff0c;只要鼠标点击&#xff0c;就会出现一个输入的光标&#xff0c;无论在哪个站点哪个页面都是如此。 我知道…

十四、运算放大电路

运算放大电路 1、理想运算放大器的概念。运放的输入端虚拟短路、虚拟断路之间的区别; 2、反相输入方式的运放电路的主要用途&#xff0c;以及输入电压与输出电压信号的相位 3、同相输入方式下的增益表达式(输入阻抗、输出阻抗)

Redis-01 入门和十大数据类型

Redis支持两种持久化方式&#xff1a;RDB持久化和AOF持久化。 1.RDB持久化是将Redis的数据以快照的形式保存在磁盘上&#xff0c;可以手动触发或通过配置文件设置定时触发。RDB保存的是Redis在某个时间点上的数据快照&#xff0c;可以通过恢复RDB文件来恢复数据。 2.AOF持久化…

55. QTableWidget的基本使用

1. 说明 在软件界面开发中,基本上离不开数据的展示以供客户查看一些比较关注的信息,比如公司做一个员工个人信息管理系统,需要一个界面能够展示员工个人基本信息,实现这种效果可以采用多种形式,其中比较简单的一种是使用QT提供的QTableWidget控件,这个控件已经封装了一些…

LeetCode 面试经典150题 190.颠倒二进制位

复习知识&#xff1a;正数的原码、反码、补码相同&#xff0c;负数的反码在其原码的基础上, 符号位不变&#xff0c;其余各个位取反&#xff0c;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后1 (即在反码的基础上1)。 题目&#xff1a;颠倒给定的 32 位无符号…

Springboot3 + MyBatis-Plus + MySql + Uniapp 商品加入购物车功能实现(最新教程附源码)

Springboot3 MyBatis-Plus MySql Uniapp 商品加入购物车功能实现&#xff08;针对上一篇sku&#xff09; 1、效果展示2、后端代码2.1 model2.2 mapper server serverImpl 参照上一篇自动生成2.3 controller 3、前端代码3.1 index.js3.2 shop-info.vue3.3 ShopBottomButton.v…

计算机毕业设计hadoop+spark+hive新能源汽车销售数据分析系统 二手车销量分析 新能源汽车推荐系统 可视化大屏 汽车爬虫 机器学习

《HadoopSparkHive新能源汽车销售数据分析系统》开题报告 一、选题背景与意义 1.1 选题背景 随着全球对环境保护意识的增强和能源结构的转型&#xff0c;新能源汽车市场迅速崛起。新能源汽车的销售数据不仅反映了市场趋势和消费者偏好&#xff0c;还为企业决策、政府监管和政…

【玉米田】

题目 代码 #include <bits/stdc.h> using namespace std; typedef long long LL;const int mod 1e8; const int M 1 << 12; LL f[13][M]; int g[13]; vector<int> state; vector<int> p[M]; int n, m; bool check(int x) {return !(x & x <&…

“一屏显江山”,激光显示重构「屏中世界」

【潮汐商业评论/原创】 2024年国庆期间&#xff0c;曾感动过无数国人的舞蹈诗剧《只此青绿》改编的同名电影即将上映&#xff0c;而这一次观众们不必走进电影院&#xff0c;在家里打开官方合作的海信激光电视也能享受到同等的视听效果&#xff0c;这是激光电视在观影场景领域的…

java 获取集合a比集合b多出来的对象元素

public class OrderListEntity {/*** deprecated 对象集合的处理* param aData 集合a* param bData 集合b* return 返回集合a比集合b多出来的部分, 通过id判断*/public static List<OrderListEntity> AHasMoreThanBData(List<OrderListEntity> aData, List<Ord…

Stable Diffusion 使用详解(11)--- 场景ICON制作

目录 背景 controlNet 整体描述 Canny Lineart Depth 实际使用 AI绘制需求 绘制过程 PS打底 场景模型选择 设置提示词及绘制参数 controlnet 设置 canny 边缘 depth 深度 lineart 线稿 效果 背景 这段时间不知道为啥小伙伴似乎喜欢制作很符合自己场景的ICON。…

鸿蒙开发(HarmonyOS)组件化浅谈

众所周知&#xff0c;现在组件化在移动开发中是很常见的&#xff0c;那么组件化有哪些好处&#xff1a; 1. 提高代码复用性&#xff1a;组件化允许将应用程序的不同功能模块化&#xff0c;使得这些模块可以在不同的项目中重复使用&#xff0c;从而提高开发效率并减少重复工作。…

LabVIEW编程能力如何能突飞猛进

要想让LabVIEW编程能力实现突飞猛进&#xff0c;需要采取系统化的学习方法&#xff0c;并结合实际项目进行不断的实践。以下是一些提高LabVIEW编程能力的关键策略&#xff1a; 1. 扎实掌握基础 LabVIEW的编程本质与其他编程语言不同&#xff0c;它是基于图形化的编程方式&…

行业人工智能研究-Python自监督方式学习图像表示算法

学术界人工智能研究落后于工业界 摘要 行业或工业界在人工智能研究上超出学术界&#xff0c;并占据着大量的计算力&#xff0c;数据集和人才诱人的薪水和明朗的预期吸引大量人才离开学术界&#xff0c;涌入行业或工业界即使&#xff0c;比如Meta开源其人工智能模型&#xff0…

小程序地图展示poi帖子点击可跳转

小程序地图展示poi帖子点击可跳转 是类似于小红书地图功能的需求 缺点 一个帖子只能有一个点击事件&#xff0c;不适合太复杂的功能&#xff0c;因为一个markers只有一个回调回调中只有markerId可以使用。 需求介绍 页面有地图入口&#xff0c;点开可打开地图界面地图上展…