算法:装更多水_使用R做更多:拖放ggplot

esquisse是一个R包,通过提供拖放界面简化了ggplot2的数据可视化过程,同时生成可编辑的ggplot代码。用户可以轻松选择和配置数据集、变量和图表元素,实现快速原型设计和复杂图表制作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法:装更多水

一些R用户变得讨厌图形用户界面。 指向,单击和拖动可能很方便,但是可能更难保存,检查或重新运行分析。

但我认为,即使是大多数硬核命令行迷也都同意,拖放式界面对于一些探索性的数据可视化可能会有所帮助。

[ 在我们的视频教程系列中获得Sharon Machlis的R技巧 | 阅读InfoWorld教程: 学习使用R处理大数据 如何重塑R中的数据 触手可及的R数据操作技巧R的 初学者指南 | 通过InfoWorld大数据报告新闻通讯了解最新的分析和大数据。 ]

这就是新的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包接口 Sharon Machlis / IDG

esquisse R附加接口,用于选择数据

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

使用esquisse R包创建的条形图 Sharon Machlis / IDG

使用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 ,然后进行调整下面的代码是必要的。 您需要riodplyr软件包。

# 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

算法:装更多水

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值