合适的图表来可视化数据的传播

机器算法验证 r 数据可视化
2022-04-06 17:45:08

我有一些数据,比如

A  2
A  4
A  76
B  8
B  13
.. ....

基本上,A、B 等的分布是什么。在 R 中可视化这些信息的合适图表是什么?

3个回答

有许多可能的显示,具体取决于您想要什么。

一个例子是每个组(A,B,...)的箱线图(假设每个组中有足够的值来支持一个 *):

boxplot(len~supp,data=ToothGrowth,horizontal=TRUE,boxwex=.7)

盒装

但您可能想查看直方图、ecdfs 或许多其他可能性

* 编辑:从您后来的评论来看,箱线图的数据似乎已经足够了。

您已经得到了一些很好的答案,但让我建议另一个尚未提及的情节(这是我为回答另一个问题而创建的示例):

点图

在 R 中,它可以通过例如stripchart()ggplot2'sgeom_point()geom_jitter(). (抖动增加了一点噪音以避免过多的重叠。)该图允许您比直方图更直接地查看数据(这可能会产生严重误导,请参阅 Glen_b's great answer to another question)或箱线图(很棒但理解和解释有点复杂)。

在 GGPlot 中,您还可以组合箱线图和抖动点,请参阅文档

正如 Glen_b 所提到的,有很多可能性。

这是一个使用“lattice”包的直方图和密度图的例子。我还提供了一些示例数据。

set.seed(1)
mydf <- data.frame(V1 = sample(LETTERS[1:5], 500, replace = TRUE),
                   V2 = sample(0:50, 500, replace = TRUE))
head(mydf)
tail(mydf)
library(lattice)
histogram(~V2 | V1, data = mydf)

在此处输入图像描述

densityplot(~V2 | V1, data = mydf)

在此处输入图像描述

两者都应用了默认设置。