如何在Ubuntu14.04上设置R
介绍
R 是一种流行的开源编程语言,专门用于统计计算和图形。 它被统计学家广泛用于开发统计软件和进行数据分析。 R 的优势之一是通过允许用户创作和提交自己的包,它具有高度和轻松的可扩展性。 众所周知,R 社区非常活跃,并以不断为特定研究领域添加用户生成的统计数据包而著称,这使得 R 适用于许多研究领域。
“综合 R 存档网络”(CRAN)是一组站点(称为 mirrors),它们携带相同的材料,由许多 R 包和 R 发行版本身组成。 您可以从任何 CRAN 镜像 下载 R 和许多 R 包,但我们将使用 RStudio 镜像。
在本指南中,我们将学习如何在运行 Ubuntu 14.04 的 DigitalOcean Droplet 上设置 R。 如果您的 Droplet 运行的是不同的操作系统,大多数说明仍然适用,但您可能需要修改一些命令。 按照本指南完成大约需要 10-15 分钟。
先决条件
对于本教程,您将需要:
- 具有至少 1 GB RAM 的 Ubuntu 14.04 Droplet。 本教程中的所有命令都应以非 root 用户身份运行。 如果该命令需要 root 访问权限,它将在前面加上
sudo
。 Ubuntu 14.04 的初始服务器设置 解释了如何添加用户并授予他们 sudo 访问权限。
第 1 步 — 设置 APT
要安装 R,我们将使用 APT(高级打包工具)工具。 它使用一个特殊的文件,列出应该从哪里下载包的来源。 该文件是 /etc/apt/sources.list
。 为了获得最新版本的 R,我们需要通过在源文件中添加一行来将正确的 repository 添加到源列表中。 您需要添加的确切行将根据确切的 Ubuntu 版本而有所不同。 对于 Ubuntu 14.04,运行以下命令将正确的存储库添加到 /etc/apt/sources.list
。
sudo sh -c 'echo "deb http://cran.rstudio.com/bin/linux/ubuntu trusty/" >> /etc/apt/sources.list'
如果您运行的是不同的 Ubuntu 版本,请参阅 本文档 以获取要添加的正确存储库。
要验证使用 APT 下载的包,我们必须添加一个公钥。 CRAN 上的 Ubuntu 档案使用 ID 为 E298A3A825C0D65DFD57CBB651716619E084DAB9 的密钥签名。 将此密钥添加到您的系统。
gpg --keyserver keyserver.ubuntu.com --recv-key E298A3A825C0D65DFD57CBB651716619E084DAB9
接下来我们需要将密钥添加到 apt
。
gpg -a --export E298A3A825C0D65DFD57CBB651716619E084DAB9 | sudo apt-key add -
第 2 步 — 安装 R
现在已经正确设置了 APT,我们可以使用它来安装 R。
首先,我们需要更新可用包的列表,因为我们更新了源列表。
sudo apt-get update
现在我们可以安装 R。 当被问及是否确定要下载包时,我们使用 -y
标志自动回答 Yes。
sudo apt-get -y install r-base
此时,您应该在 Droplet 上安装了最新的 R 版本。 您可以通过运行 R
命令对此进行测试。
R
您应该会看到类似于以下内容的输出。
R version 3.2.1 (2015-06-18) -- "World-Famous Astronaut" Copyright (C) 2015 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. 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 中,可以运行任意 R 命令。
退出 R,然后使用 q()
函数返回到您的 Droplet:
q(save = "no")
第 3 步 — 从 CRAN 安装 R 包
现在 R 已安装在您的 Droplet 上,Droplet 上的任何用户都可以使用 R。 安装 R 时,它会自动安装许多默认包,但为了在 R 中做任何真正有意义的事情,您可能需要安装额外的包。 为了安装许多软件包,至少有 1 GB 的可用 RAM 非常重要。
如前所述,CRAN 不仅托管 R 本身,还托管许多 R 包。 要安装托管在 CRAN 上的新 R 包或更新现有包,请使用 R 中的 install.packages()
函数。 如果您想安装包 somepackage,您将打开 R 并运行以下 R 命令。
# This is an example, do not run this install.packages("somepackage")
但是,在 R 中由特定用户安装的任何包默认情况下仅对该用户可用。 例如,如果用户 sammy 安装了 somepackage,那么用户 jessie 将无法使用 somepackage,直到他们也安装了它。
可以通过将 R 包安装为 root 以使其对 Droplet 上的所有用户可用的方式安装它。 例如,让我们安装 shiny 包,这是一个非常流行的包,用于从 R 代码创建 Web 应用程序。 以 root 身份安装软件包的一种方法是以 root 身份登录,运行 R,然后运行 install.packages()
命令。 但是,建议不要以 root 身份登录,因此我们可以直接以 root 身份运行 R 命令。 我们还将指定 repos
参数,以便从 RStudio CRAN 存储库下载包,这与我们在下载 R 本身时使用的相同。
sudo su - -c "R -e \"install.packages('shiny', repos = 'http://cran.rstudio.com/')\""
通过以这种方式安装包而不是打开 R 并运行 install.packages()
命令,Droplet 上的所有用户都可以使用 shiny
包。
让我们通过尝试加载来验证 shiny
是否已正确安装。 启动 R 会话。
R
在 R 中,尝试加载 shiny
包。
library(shiny)
运行前面的命令应该不会导致错误。 现在退出R。
q(save = "no")
第 4 步 — 安装 devtools
包
虽然许多 R 包托管在 CRAN 上并且可以使用内置的 install.packages()
功能进行安装,但还有更多的包托管在 GitHub 上但不在 CRAN 上。 要从 GitHub 安装 R 包,我们需要使用 devtools
R 包,所以让我们安装它。
devtools
R包需要在Droplet上安装三个系统包,分别是libcurl4-gnutls-dev
、libxml2-dev
和libssl-devc
。 安装这三个包:
sudo apt-get -y install libcurl4-gnutls-dev libxml2-dev libssl-dev
现在可以安装 devtools
R 包。 请记住,我们希望使用与上述相同的方法安装它,而不是在 R 会话中安装它,因为 devtools
应该可供所有用户使用。
sudo su - -c "R -e \"install.packages('devtools', repos='http://cran.rstudio.com/')\""
上述安装 devtools
的命令可能需要几分钟才能完成。
第 5 步 — 从 GitHub 安装 R 包
现在我们已经安装了 devtools
,我们可以使用 install_github()
函数安装 GitHub 上的任何 R 包。 就像使用 CRAN 包一样,在安装 GitHub 包时,您需要从系统 shell 运行命令以使包对所有用户可用。 让我们尝试安装 shinyjs GitHub 包,它为 shiny
包添加了功能。 GitHub 包由其作者 (daattali
) 及其名称 (shinyjs
) 定义。
sudo su - -c "R -e \"devtools::install_github('daattali/shinyjs')\""
让我们通过尝试加载来验证 shinyjs
是否已正确安装。 启动 R 会话。
R
在 R 中,尝试加载 shinyjs
包。
library(shinyjs)
运行前面的命令可能会产生一些消息,但不会产生错误消息。 现在退出R。
q(save = "no")
下一步
你现在在你的 Droplet 上安装了一个工作的 R。
要了解有关 R 的更多信息,请访问 官方 R 网站 ,或尝试使用 swirl 包 动手和交互地学习 R 。
有关 CRAN 及其提供的更多信息,请访问 官方 CRAN 网站 。
为了在您的 Droplet 上编写 R 代码获得更好的体验,您可能需要使用 本教程 安装 RStudio 服务器。
如果您想在 Droplet 上托管任何 Shiny 代码,您可能需要使用 本教程 安装 Shiny 服务器。
结论
在本指南中,我们完成了在 Ubuntu 14.04 Droplet 上设置 R 所需的步骤。 我们还了解了从 GitHub 与 CRAN 安装 R 包之间的区别,以及如何确保这些包对 Droplet 上的所有用户可用。