> 可视化数据 ### 过滤数据 使用 `过滤数据` 框选择(或排除)数据中的特定行集。详见“数据> 查看”的帮助文件。 ### 图表类型 选择你想要的图表类型。例如,加载`diamonds`数据后,选择`分布` 和所有(X)变量(使用 CTRL-a 或 CMD-a)。这将为数据集中的所有数值变量创建直方图,为所有分类变量创建条形图。密度图仅可用于数值变量。散点图用于可视化两个变量之间的关系:选择一个或多个变量作为 Y 轴变量,一个或多个变量作为 X 轴变量。如果其中一个变量是分类变量(即因子 {factor}),应将其指定为 X 轴变量。可通过 “颜色(Color)” 或 “大小(Size)” 下拉菜单添加其他变量的信息。折线图与散点图类似,但会将数据点连接起来,特别适用于时间序列数据。曲面图与 “热力图(Heat maps)” 类似,需要 3 个输入变量:X、Y 和填充色(Fill)。条形图用于展示分类(或整数)变量(X)与数值变量(Y)的(均值)值之间的关系。箱线图也用于 Y 为数值变量、X 为分类变量的情况,它比条形图包含更多信息,但解读起来也稍复杂一些。 > 注意,在条形图中,当分类变量(`factor`)被选为 Y 轴变量时,若所选函数需要,该变量将被转换为数值变量。如果因子水平是数值型的,这些数值将用于所有计算。由于均值、标准差等统计量对非二元分类变量不适用,这类变量将被转换为 0-1(二元)变量,其中第一个水平编码为 1,其他所有水平编码为 0。例如,如果我们从`diamonds`数据中选择`color`作为 Y 轴变量,并选择`mean`作为应用函数,那么每个条形将表示取值为`D`的观测比例。 ### 箱线图 箱线的上下 “边缘(hinges)” 对应数据的第一和第三四分位数(第 25 和第 75 百分位数)。中间的边缘是数据的中位数。上须线从上边缘(即箱体顶部)延伸至数据中在上边缘 1.5 倍四分位距范围内的最大值。四分位距(IQR)是第 25 和第 75 百分位数之间的距离。下须线从下边缘延伸至数据中下边缘 1.5 倍四分位距范围内的最小值。须线以外的数据可能是异常值,将以点的形式绘制(如 Tukey 所建议)。 总之: 1. 下须线从 Q1 延伸至数据最小值与(Q1 - 1.5×IQR)中的较大值 2. 上须线从 Q3 延伸至数据最大值与(Q3 + 1.5×IQR)中的较小值 其中 Q1 是第 25 百分位数,Q3 是第 75 百分位数。你可能需要多读几遍上述两点才能理解。下方图表有助于解释箱线图的结构。

来源 ### 子图和热力图 `行分面` 和 `列分面` 可用于将数据拆分为不同组,并为每组创建单独的图表。 如果选择散点图或折线图,会显示 “颜色(Color)” 下拉菜单。选择 “颜色” 变量将创建一种热力图,其中颜色与 “颜色” 变量的值相关联。在折线图中从 “颜色” 下拉菜单选择分类变量,会将数据拆分为组,并为每组显示不同颜色的线。 ### 回归线、局部加权回归线和抖动 要在散点图中添加线性或非线性回归线,勾选 `线`和 / 或`局部加权回归`框。如果数据取值有限,`抖动` 功能有助于更好地了解大多数数据点的分布位置。`抖动` 会为每个数据点添加一个小的随机值,使它们在图表中不完全重叠。 ### 坐标轴缩放 散点图中变量之间的关系可能是非线性的。我们可以对数据应用多种转换,使这种关系变为(近似)线性(见“数据> 转换”),以便更容易通过例如“模型> 估计 > 线性回归(OLS)”进行估计。对业务数据最常用的数据转换可能是(自然)对数转换。要查看对数转换是否适合你的数据,勾选 “X 轴对数(Log X)” 和 / 或 “Y 轴对数(Log Y)” 框(例如,对于散点图或条形图)。 默认情况下,使用 `行分面` 时,所有子图的 Y 轴刻度相同。要使每个子图的 Y 轴刻度独立,点击 `Y 轴缩放` 复选框。 ### 翻转坐标轴 要交换 X 轴和 Y 轴上的变量,勾选 `翻转` 框。 ### 图表高度和宽度 要调整图表大小,修改屏幕左下角的高度和宽度输入框中的值。 ### 保存图表 保存图表的最佳方式是通过点击屏幕左下角的报告()图标或按键盘上的`ALT-enter`生成`visualize`命令。或者,点击屏幕右上角的图标将 png 文件保存到磁盘。 ### 在 “报告> Rmd” 中定制图表 要定制图表,首先通过点击屏幕左下角的报告()图标或按键盘上的`ALT-enter`生成`visualize`命令。下方示例说明了如何在“报告> Rmd”标签中定制命令。注意`custom`被设为`TRUE`。 ```r visualize(diamonds, yvar = "price", xvar = "carat", type = "scatter", custom = TRUE) + labs( title = "A scatterplot", y = "Price in $", x = "Carats" ) ``` 图表的默认分辨率为 144 dots per inch(dpi)。你可以在 “报告> Rmd” 中调高或调低此设置。例如,下方代码块标题确保图表宽 7 英寸、高 3.5 英寸,分辨率为 600 dpi。 ```` ```{r fig.width = 7, fig.height = 3.5, dpi = 600} ```` 如果你安装了`svglite`包,下方代码块标题将生成高质量的`svg`格式图表。 ```` ```{r fig.width = 7, fig.height = 3.5, dev = "svglite"} ```` **一些常见的定制命令:** * 添加标题:`+ labs(title = "我的标题")` * 添加副标题:`+ labs(subtitle = "我的副标题")` * 在图表下方添加说明:`+ labs(caption = "基于……的数据")` * 更改标签:`+ labs(x = "我的X轴标签")`或`+ labs(y = "我的Y轴标签")` * 移除所有图例:`+ theme(legend.position = "none")` * 更改图例标题:`+ labs(color = "新图例标题")`或`+ labs(fill = "新图例标题")` * 旋转刻度标签:`+ theme(axis.text.x = element_text(angle = 90, hjust = 1))` * 设置图表范围:`+ ylim(5000, 8000)`或`+ xlim("VS1","VS2")` * 移除大小图例:`+ scale_size(guide = "none")` * 更改大小范围:`+ scale_size(range=c(1,6))` * 绘制水平线:`+ geom_hline(yintercept = 0.1)` * 绘制垂直线:`+ geom_vline(xintercept = 8)` * 将 Y 轴缩放为百分比:`+ scale_y_continuous(labels = scales::percent)` * 将 Y 轴以百万为单位:`+ scale_y_continuous(labels = scales::unit_format(unit = "M", scale = 1e-6))` * 以美元显示 Y 轴:`+ scale_y_continuous(labels = scales::dollar_format())` * 使用逗号作为 Y 轴千位分隔符:`+ scale_y_continuous(labels = scales::comma)` 有关如何定制图表用于展示的更多内容,参见http://r4ds.had.co.nz/graphics-for-communication.html。 另见 ggplot2 文档网站https://ggplot2.tidyverse.org。 假设我们在 “数据> 可视化” 中使用钻石数据创建了三组条形图。要在图表组上方添加标题并设置单列布局,可使用`patchwork`如下: ```r library(patchwork) plot_list <- visualize( diamonds, xvar = c("clarity", "cut", "color"), yvar = "price", type = "bar", custom = TRUE ) wrap_plots(plot_list, ncol = 1) + plot_annotation(title = "Three bar plots") ``` 有关如何定制图表组的更多信息,参见patchwork 文档网站。 ### 在 “报告> Rmd” 中制作交互式图表 使用`plotly`库可将 Radiant 中生成的(大多数)图表转换为交互式图形。设置`custom = TRUE`后,可使用`ggplotly`函数转换单个图表。见下方示例: ```r visualize(diamonds, xvar = "price", custom = TRUE) %>% ggplotly() %>% render() ``` 如果创建了多个图表,可使用`plotly`包的`subplot`函数。为`nrows`参数提供值以设置图表布局网格。在下方示例中创建了四个图表,由于`nrow = 2`,图表将以 2×2 网格显示。 ```r visualize(diamonds, xvar = c("carat", "clarity", "cut", "color"), custom = TRUE) %>% subplot(nrows = 2) %>% render() ``` 有关`plotly`库的更多信息,参见下方链接: * 入门指南:https://plot.ly/r/getting-started/ * 参考手册:https://plot.ly/r/reference/ * 书籍:https://cpsievert.github.io/plotly_book * 代码:https://github.com/ropensci/plotly ### R 函数 有关 Radiant 中用于数据可视化的相关 R 函数概述,请参见“数据> 可视化”