介绍
R 是一种流行的开源编程语言,专门用于统计计算和图形。 它广泛用于开发统计软件和执行数据分析。 R 易于扩展,社区以不断为特定研究领域添加用户生成的包而闻名,这使其适用于许多领域。
在本教程中,我们将安装 R 并展示如何从官方 Comprehensive R Archive Network (CRAN) 添加包。
先决条件
接下来,您将需要一个 Ubuntu 16.04 服务器:
- 至少 1GB 的 RAM
- 具有 sudo 权限的非 root 用户。 要了解如何设置它,请按照我们的 初始服务器设置指南 。
一旦这些先决条件到位,您就可以开始了。
第 1 步 — 安装 R
R 是一个快速发展的项目,最新的稳定版本并不总是可以从 Ubuntu 的存储库中获得,所以我们将从添加 CRAN 维护的外部存储库开始:
注意: CRAN 在其网络中维护存储库,但并非所有外部存储库都是可靠的。 请务必仅从受信任的来源安装。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
OutputE298A3A825C0D65DFD57CBB651716619E084DAB9 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
Output. . . 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
OutputR 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 图形的库,包括散点图、折线图、密度图、acf 和条形图:
install.packages('txtplot')
作为安装过程的一部分,您可以选择安装镜像:
Output--- Please select a CRAN mirror for use in this session --- HTTPS CRAN mirror 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
我们为 0-Cloud 输入了 1,它将我们连接到 RStudio 提供的内容交付网络 (CDN),以便获得地理上最接近的选项。 此镜像将被设置为会话剩余部分的默认值。 退出 R 并重新进入后,系统会提示您再次选择镜像。
注意: 在镜像列表之前,以下输出显示了软件包的安装位置。
OutputInstalling package into ‘/usr/local/lib/R/site-library’ (as ‘lib’ is unspecified) . . .
这个站点范围的路径是可用的,因为我们以 root 身份运行 R,并且是使包对所有用户可用的正确位置。
安装完成后,我们可以加载txtplot
:
library('txtplot')
如果没有错误消息,则库已成功加载。 现在让我们通过一个示例来看看它的实际效果,该示例演示了一个带有轴标签的基本绘图功能。 示例数据由 R 的 datasets
包提供,包含基于 1920 年代数据的汽车速度和停车所需距离:
txtplot(cars[,1], cars[,2], xlab = "speed", ylab = "distance")
Output +----+-----------+------------+-----------+-----------+--+ 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 安装。 要了解有关可用内容的更多信息,您可以在任何 mirror 上的 Packages 链接下找到按名称或发布日期组织的官方软件包列表。
结论
现在您已经成功安装了 R,您可能会对 安装开源 RStudio Server 的指南感兴趣,它是在远程 Linux 服务器上运行的 R 版本的接口,它将 IDE 带到您刚刚完成的基于服务器的部署。 您可能也有兴趣学习如何 直接从 GitHub、BitBucket 或其他位置 安装,以利用活跃社区的最新工作。