算法:装更多水
一些R用户变得讨厌图形用户界面。 指向,单击和拖动可能很方便,但是可能更难保存,检查或重新运行分析。
但我认为,即使是大多数硬核命令行迷也都同意,拖放式界面对于一些探索性的数据可视化可能会有所帮助。
这就是新的R包esquisse带给ggplot2的东西。 它提供了两全其美的功能:拖放, 以及为您创建的图形生成基本的ggplot代码。 而且,这非常酷! esquisse由法国R咨询公司DreamRs的两个人创建。 该名esquisse是法语草图 。
让我们看一下包装。
您可以从RStudio插件菜单中打开esquisse ggplot构建器。 默认行为类似于通常的加载项。 但是,您也可以根据需要在浏览器中将其打开。 只需将R选项esquisse.display.mode设置为浏览器:
library(esquisse)
# Set option for browser
options("esquisse.display.mode" = "browser")
查看如果运行esquisse ggplot构建器加载项会发生什么。
它应该弹出打开您的默认浏览器。 但是我更喜欢通常的RStudio对话框窗格,因此将选项设置为dialog
。
options("esquisse.display.mode" = "dialog")
要使用外接程序,首先选择加载到当前工作会话中的数据帧之一。 然后,如果单击“验证所选变量”下拉列表,则会看到所有可用列,并可以选择所需的列。 要保留所有内容,请单击“选择”。

esquisse R附加接口,用于选择数据
现在,您应该看到一个拖放界面。 您应该能够将一个变量拖到X框中,将另一个拖到Y框中,以及为填充或大小选择其他变量(取决于可视化类型)。

使用esquisse包创建有序条形图
底部的“数据”面板为您提供了过滤数据的选项。 您可以使用“标签和标题”选项更改轴标题。 绘图选项可让您更改调色板和主题,还可以移动或删除图例。
即使您真的很喜欢通过编写ggplot代码来创建图形,这也是查看图形上不同调色板和主题外观的好方法。
现在,这里是该插件的一个非常酷的部分:如果转到“导出和代码”,您会看到生成ggplot图的R代码。 如果单击“在脚本中插入代码”链接,则代码将出现在RStudio中光标最后的位置。 或者,也许更安全一些,单击“复制到剪贴板”,关闭加载项,然后将代码复制到脚本中。
如果您想要一个条形图,其中条形从低到高排序,例如上面的条形图,您自己可以通过添加ggplot代码手动对其重新排序,或者在原始数据中创建有序因子。 这是容易做到forcats
:
mydf %>%
mutate(
NewFactor = forcats::as_factor(OriginalColumn),
NewFactor = forcats::fct_reorder(NewFactor, ColumnToOrderBy)
)
观看上面的视频,看看这一切如何工作! 我使用了航空公司的航班延误数据来演示esquisse插件。 如果您想继续并从美国运输统计局下载自己的数据,请访问https://www.transtats.bts.gov/DL_SelectFields.asp?Table_ID=236&DB_Short_Name=On-Time ,然后进行调整下面的代码是必要的。 您需要rio
和dplyr
软件包。
# Where I saved my data file -- change for your own data
mydatafile <- "data/austin_boston_2018_01.csv"
# My home airport code -- save for your own
myairport <- "BOS"
library(dplyr)
mydata <- rio::import(mydatafile) %>%
select(FL_DATE, OP_CARRIER, OP_CARRIER_FL_NUM, ORIGIN, DEST,
DEP_DELAY, ARR_DELAY, AIR_TIME, DISTANCE) %>%
mutate(
DAY_OF_WEEK = weekdays(as.Date(FL_DATE), abbreviate = TRUE),
FL_DATE = as.Date(FL_DATE)
)
to_austin <- filter(mydata, ORIGIN == myairport, DEST == "AUS")
from_austin <- filter(mydata, ORIGIN == "AUS", DEST == myairport)
翻译自: https://www.infoworld.com/article/3311518/do-more-with-r-drag-and-drop-ggplot.html
算法:装更多水