标签 R语言 下的文章

这个教程指导你如何在 Ubuntu 上安装 R 语言。你也将同时学习到如何在 Ubuntu 上用不同方法运行简单的 R 语言程序。

R,和 Python 一样,它是在统计计算和图形处理上最常用的编程语言,易于处理数据。随着数据分析、数据可视化、数据科学(机器学习热)的火热化,对于想深入这一领域的人来说,它是一个很好的工具。

R 语言的优点是它的语法非常简练,你可以找到它的很多实际使用的教程或指南。

本文将介绍包含如何在 Ubuntu 下安装 R 语言,也会介绍在 Linux 下如何运行第一个 R 程序。

如何在 Ubuntu 上安装 R 语言

R 默认在 Ubuntu 的软件库里。用以下命令很容易安装:

sudo apt install r-base

请注意这可能会安装一个较老的版本。在我写这篇文字的时候,Ubuntu 提供的是 3.4,但是最新的是3.6。

我建议除非你必须使用最新版本,否则直接使用 Ubuntu 的配套版本。

如何在 Ubuntu 上安装最新 3.6 版本的 R 环境

如果想安装最新的版本(或特殊情况指定版本),你必须用 CRAN(Comprehensive R Archive Network)。这个是 R 最新版本的镜像列表。

如需获取 3.6 的版本,需要添加镜像到你的源索引里。我已经简化其命令如下:

sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran35/"

下面你需要添加密钥到服务器中:

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

然后更新服务器信息并安装R环境:

sudo apt update
sudo apt install r-base

就这样安装完成。

如何在 Ubuntu 下使用 R 语言编程

R 的用法多样,我将介绍运行多个运行 R 语言的方式。

R 语言的交互模式

安装了 R 语言后,你可以在控制台上直接运行:

R

这样会打开交互模式:

R Interactive Mode

R 语言的控制台与 Python 和 Haskell 的交互模式很类似。你可以输入 R 命令做一些基本的数学运算,例如:

> 20+40
[1] 60

> print ("Hello World!")
[1] "Hello World!"

你可以测试绘图:

R Plotting

如果想退出可以用 q()或按下 CTRL+c键。接着你会被提示是否保存工作空间镜像;工作空间是创建变量的环境。

用 R 脚本运行程序

第二种运行 R 程序的方式是直接在 Linux 命令行下运行。你可以用 RScript 执行,它是一个包含 r-base 软件包的工具。

首先,你需要用你在 Linux 下常用的编辑器保存 R 程序到文件。文件的扩展名必须是 .r

下面是一个打印 “Hello World” 的 R 程序。你可以保存其为 hello.r

print("Hello World!")
a <- rnorm(100)
plot(a)

用下面命令运行 R 程序:

Rscript hello.r

你会得到如下输出结果:

[1] "Hello World!"

结果将会保存到当前工作目录,文件名为 Rplots.pdf

Rplots.pdf

小提示:Rscript 默认不会加载 methods 包。确保在脚本中显式加载它。

在 Ubuntu 下用 RStudio 运行 R 语言

最常见的 R 环境是 RStudio,这是一个强大的跨平台的开源 IDE。你可以用 deb 文件在 Ubuntu 上安装它。下载 deb 文件的链接如下。你需要向下滚动找到 Ubuntu 下的 DEB 文件。

下载了 DEB 文件后,直接点击安装。

下载后从菜单搜索启动它。程序主界面会弹出如下:

RStudio 主界面

现在可以看到和 R 命令终端一样的工作台。

创建一个文件:点击顶栏 “File” 然后选择 “New File > Rscript”(或 CTRL+Shift+n):

RStudio 新建文件

按下 CTRL+s 保存文件选择路径和命名:

RStudio 保存文件

这样做了后,点击 “Session > Set Working Directory > To Source File Location” 修改工作目录为你的脚本路径:

RStudio 工作目录

现在一切准备就绪!编写代码然后点击运行。你可以在控制台和图形窗口看到结果:

RStudio 运行

结束语

这篇文章中展示了如何在 Ubuntu 下使用 R 语言。包含了以下几个方面:R 控制台 —— 可用于测试,Rscript —— 终端达人操作,RStudio —— 你想要的 IDE。

无论你正在从事数据科学或只是热爱数据统计,作为一个数据分析的完美工具,R 都是一个比较好的编程装备。

你想使用 R 吗?你入门了吗?让我们了解你是如何学习 R 的以及为什么要学习 R!


via: https://itsfoss.com/install-r-ubuntu/

作者:Sergiu 选题:lujun9972 译者:guevaraya 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

学习使用 R 的 twitteR 和 leaflet 包, 你就可以把任何话题的推文定位画在地图上。

 title=

当我开始学习 R ,我也需要学习如何出于研究的目的地收集推特数据并对其进行映射。尽管网上关于这个话题的信息很多,但我发觉难以理解什么与收集并映射推特数据相关。我不仅是个 R 新手,而且对各种教程中技术名词不熟悉。但尽管困难重重,我成功了!在这个教程里,我将以一种新手程序员都能看懂的方式来攻略如何收集推特数据并将至展现在地图中。

创建应用程序

如果你没有推特帐号,首先你需要 注册一个。然后,到 apps.twitter.com 创建一个允许你收集推特数据的应用程序。别担心,创建应用程序极其简单。你创建的应用程序会与推特应用程序接口(API)相连。 想象 API 是一个多功能电子个人助手。你可以使用 API 让其它程序帮你做事。这样一来,你可以接入推特 API 令其收集数据。只需确保不要请求太多,因为推特数据请求次数是有限制 的。

收集推文有两个可用的 API 。你若想做一次性的推文收集,那么使用 REST API. 若是想在特定时间内持续收集,可以用 streaming API。教程中我主要使用 REST API。

创建应用程序之后,前往 Keys and Access Tokens 标签。你需要 Consumer Key (API key)、 Consumer Secret (API secret)、 Access Token 和 Access Token Secret 才能在 R 中访问你的应用程序。

收集推特数据

下一步是打开 R 准备写代码。对于初学者,我推荐使用 RStudio,这是 R 的集成开发环境 (IDE) 。我发现 RStudio 在解决问题和测试代码时很实用。 R 有访问该 REST API 的包叫 twitteR

打开 RStudio 并新建 RScript。做好这些之后,你需要安装和加载 twitteR 包:

install.packages("twitteR") 
#安装 TwitteR
library (twitteR) 
#载入 TwitteR

安装并载入 twitteR 包之后,你得输入上文提及的应用程序的 API 信息:

api_key <- "" 
 #在引号内放入你的 API key 
api_secret <- "" 
 #在引号内放入你的 API secret token 
token <- "" 
 #在引号内放入你的 token
token_secret <- "" 
 #在引号内放入你的 token secret

接下来,连接推特访问 API:

setup_twitter_oauth(api_key, api_secret, token, token_secret)

我们来试试让推特搜索有关社区花园和农夫市场:

tweets <- searchTwitter("community garden OR #communitygarden OR farmers market OR #farmersmarket", n = 200, lang = "en")

这个代码意思是搜索前 200 篇 (n = 200) 英文 (lang = "en") 的推文, 包括关键词 community gardenfarmers market 或任何提及这些关键词的话题标签。

推特搜索完成之后,在数据框中保存你的结果:

tweets.df <-twListToDF(tweets)

为了用推文创建地图,你需要收集的导出为 .csv 文件:

write.csv(tweets.df, "C:\Users\YourName\Documents\ApptoMap\tweets.csv") 
 #an example of a file extension of the folder in which you want to save the .csv file.

运行前确保 R 代码已保存然后继续进行下一步。.

生成地图

现在你有了可以展示在地图上的数据。在此教程中,我们将用一个 R 包 Leaflet 做一个基本的应用程序,这是一个生成交互式地图的热门 JavaScript 库。 Leaflet 使用 magrittr 管道运算符 (%>%), 因为其语法自然,易于写代码。刚接触可能有点奇怪,但它确实降低了写代码的工作量。

为了清晰起见,在 RStudio 打开一个新的 R 脚本安装这些包:

install.packages("leaflet")
install.packages("maps") 
library(leaflet)
library(maps)

现在需要一个路径让 Leaflet 访问你的数据:

read.csv("C:\Users\YourName\Documents\ApptoMap\tweets.csv", stringsAsFactors = FALSE)

stringAsFactors = FALSE 意思是保留信息,不将它转化成 factors。 (想了解 factors,读这篇文章"stringsAsFactors: An unauthorized biography", 作者 Roger Peng)

是时候制作你的 Leaflet 地图了。我们将使用 OpenStreetMap基本地图来做你的地图:

m <- leaflet(mymap) %>% addTiles()

我们在基本地图上加个圈。对于 lnglat,输入包含推文的经纬度的列名,并在前面加个~~longitude~latitude 指向你的 .csv 文件中与列名:

m %>% addCircles(lng = ~longitude, lat = ~latitude, popup = mymap$type, weight = 8, radius = 40, color = "#fb3004", stroke = TRUE, fillOpacity = 0.8)

运行你的代码。会弹出网页浏览器并展示你的地图。这是我前面收集的推文的地图:

 title=

带定位的推文地图,使用了 Leaflet 和 OpenStreetMap CC-BY-SA

虽然你可能会对地图上的图文数量如此之小感到惊奇,通常只有 1% 的推文记录了地理编码。我收集了总数为 366 的推文,但只有 10(大概总推文的 3%)是记录了地理编码的。如果你为得到记录了地理编码的推文而困扰,改变搜索关键词看看能不能得到更好的结果。

总结

对于初学者,把以上所有碎片结合起来,从推特数据生成一个 Leaflet 地图可能很艰难。 这个教程基于我完成这个任务的经验,我希望它能让你的学习过程变得更轻松。

(题图:琼斯·贝克. CC BY-SA 4.0. 来源: Cloud, Globe. Both CC0.)


作者简介:

Dorris Scott - Dorris Scott 是佐治亚大学的地理学博士生。她的研究重心是地理信息系统(GIS)、 地理数据科学、可视化和公共卫生。她的论文是在一个 GIS 系统接口将退伍军人福利医院的传统和非传统数据结合起来,帮助病人为他们的健康状况作出更为明朗的决定。


via: https://opensource.com/article/17/6/collecting-and-mapping-twitter-data-using-r

作者:Dorris Scott 译者:XYenChi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

前一段时间,我已经介绍过 Linux 上针对 C/C++ 语言的最好 IDE。很显然 C 或 C++ 并不是现存的唯一的编程语言,是时间讨论某些更加特别的语言了。

假如你做过一些统计工作,很可能你已经见识过 R 语言 了。假如你还没有,我真的非常推荐这门专为统计和数据挖掘而生的开源编程语言。若你拥有编程背景,它的语法可能会使你感到有些不适应,但希望它的向量化操作所带来的快速能够吸引到你。简而言之,请尝试使用一下这门语言。而要做到这一点,使用一个好的 IDE 来入门或许会更好。R 作为一门跨平台的语言,有着一大把好用的 IDE,它们使得用 R 语言进行数据分析变得更惬意。假如你非常钟意一个特定的编辑器,这里也有一些好用的插件来将它转变为一个成熟的 R 语言的 IDE。

下面就让我们见识一下 Linux 环境下 5 个针对 R 语言的好用 IDE吧。

1. RStudio

就让我们以或许是最为人们喜爱的 R IDE —— RStudio 来开始我们的介绍吧。除了一般 IDE 所提供的诸如语法高亮、代码补全等功能,RStudio 还因其集成了 R 语言帮助文档、强大的调试器、多视图系统而突出。如果你准备入门 R 语言,我只建议你将 RStudio 作为你的 R 语言控制台,一方面用它来实时测试代码是很完美的,另外对象浏览器可以帮助你理解你正在处理的是哪类数据。最后,真正征服我的是它集成了图形显示器,使得你能够更轻松地将图形输出为图片文件。至于它不好的方面, RStudio 缺乏快捷键和高级设置来使得它成为一个完美的 IDE。然而,它有一个以 AGPL 协议发布的免费版本, Linux 用户没有借口不去试试这个 IDE。

2. 带有 ESS 插件的 Emacs

在我的前一个有关 IDE 的文章中,很多朋友对我所给出的清单中没有 Emacs 而感到失望。对于这个,我的主要理由是 Emacs 可以说是 IDE 里面的“通配符”:你可以将它放到任意语言的 IDE 清单中。但对于 带有 ESS 插件的 R 来说,事情就变得有些不同了。Emacs Speaks Statistics (ESS) 是一个令人惊异的插件,它将完全改变你使用 Emacs 编辑器的方式,真的非常适合 R 编程者的需求。与 RStudio 类似,带有 ESS 的 Emacs 拥有多视图,它有两个面板:一个显示代码,另一个则是一个 R 控制台,使得实时地测试代码和探索数据对象变得更加容易。但 ESS 真正的长处是可以和你已安装的其他 Emacs 插件无缝集成,以及它的高级配置选项。简而言之,如果你喜欢你的 Emacs 快捷键,你将能够在 R 语言开发环境下使用它们。然而,当你在 ESS 中处理大量数据时,我已经听闻并经历了一些效率低下的问题。尽管这个问题不是很重大,但足以让我更偏好 RStudio。

3. Vim 及 Vim-R-plugin

在谈论完 Emacs 后,因为我不想去讨论 Emacs 和 Vim 的优劣,所以我尽力给予 Vim 同样的待遇,下面介绍 Vim R 插件。使用名为 tmux 的终端工具,这个工具使得在开启一个 R 控制台的同时,又书写 R 代码成为可能。但最为重要的是,它还为 Vim 带来了 R 语言的语法高亮和自动补全。你还可以轻易地获取 R 帮助文档和浏览数据对象。但再次强调,这些强大的功能来源于它大量的自定义选项和 Vim 的速度。假如你被这些功能所诱惑,我希望你能够通读有关介绍如何安装这个插件并设置相关环境的文档

4. 带有 RGedit 的 Gedit

若 Emacs 和 Vim 都不是你的菜,而你恰好喜欢默认的 Gnome 编辑器,则 RGedit 就是专门为你而生的:它是 Gedit 的一个专门编辑 R 代码的插件。Gedit 比你以为的更强大,配上大量的插件,就有可能用它来做许许多多的事情。而 RGedit 恰好就是你编辑 R 代码所需要的那款插件。它支持传统的语法高亮并在屏幕下方集成了 R 控制台,但它还有一大类独特的功能,例如多文件编辑、代码折叠、文件查看器,甚至还有一个 GUI 的向导用来从 snippets 产生代码。尽管我对 Gedit 并不感冒,但我必须承认这些功能比一般插件的功能更好,并且在你花费很长时间去分析数据时它会有很大的帮助。唯一的不足是它的最后一次更新是 2013 年。我真的希望这个项目能够被重新焕发新生。

5. RKWard

最后的并不意味着最不重要,作为这个清单的最后,RKWard 是一个 KDE 环境下的 R 语言 IDE。我最喜爱它的一点是它的名称。但说老实话,它的包管理系统和类似电子表格的数据编辑器排在我最喜欢它的理由的第二位。除了这些,它还包含一个简单的用来画图和导入数据的系统,另外它还可以使用插件来扩展功能。假如你不是一个 KDE 迷,或许你有点不喜欢这个,但若你是,我真的建议你考虑使用它。

总的来说,无论你是否刚入门 R 语言,这些 IDE 对你或许都有些帮助。假如你更偏好某个软件它自身所代表的东西或者是偏好针对你喜爱的编辑器的插件,这些都没有什么问题,我确信你将感激这些软件所提供的某些功能。同时我还确信我遗漏了很多好的针对 R 语言的 IDE,或许它们值得罗列在这个清单上。鉴于你们在上一篇针对 C/C++ 的最好 IDE 这个话题中陈述了很多非常有用的评论,我也邀请你们在这里做出同样精彩的评论并分享出你的知识。

关于 Linux 下针对 R 语言的好用编辑器,你有什么看法呢?请在下面的评论中让我们知晓。


via: http://xmodulo.com/good-ide-for-r-on-linux.html

作者:Adrien Brochard 译者:FSSlc 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出