绘制小样本


13

我有一个单独的14次小数据集来完成一项任务。但是,我很难找到合适的图形来绘制数据。如果样本较大,我将使用箱形图或直方图,但是如果样本如此小,我不确定在这种情况下是否适合使用。

更新:时间是5.2、3.9、5.6、4.2、3.8、4.1、6.0、5.6、4.4、4.5、4.9、4.5、4.9、4.2


4
作为鼓励人们发布不同解决方案的具体示例,没有什么比显示您关心的真实数据更好的了。在此之前,我建议将点或带状图和分位数图与框重叠。
尼克·考克斯

Answers:


16

我认为这里的基本原则是,您可以并且应该显示所有个人价值。即使细节不是很有趣或没有用,也没有理由不显示细节,也没有理由要求读者解码(说)直方图,其中直方图可能只代表一个或两个值。

我在这里提供一个小的复合材料。左上角是水平呈现的点状图或带状图(至少有二十个其他名称用于同一构想),右上角是垂直呈现的同一个构想。具有相同值的实例通过堆栈进行匹配。

在帕岑的意义下,底部是分位数框图,其中默认水平标度是累积概率(用普通术语来说是绘图位置),并且可以绘制常规中位数和四分位数框,使得(原则上)一半像通常宣传的那样,值在框内,而值的一半在框外。这里多余的水平线表示平均值。有些人在箱形图上添加均值作为额外的点或标记符号。我发现这可能会与显示数据本身发生冲突,并且我希望增加一行。如果中位数线与均值线似乎重合,则需要考虑该怎么做。平均值和中位数几乎总是可以明显地不同。

可以说,在图形上明确显示度量单位是标准的,但是我看不到它们是什么。

在此处输入图片说明

(我在这里特意提出了一个额外的观点,那就是图表可能很小,但仍能提供很多信息。实际上,我不会将它们缩小得那么小。)

编辑:

广义上以Parzen的意义将交叉引用添加到分位数箱图中(在下面的第二篇中进一步引用;存在“分位数箱图”的其他用法)

如何测量带有多个零的非参数数据之间的差异?

如何使用箱形图找到值更可能来自不同条件的点?

如何可视化独立的两个样本t检验?

如何使用Mann-Whitney U检验获得哪个实验做得更好?

Shera,DM1991。分位数图的一些使用,以增强数据表示。 计算科学与统计 23:50-53。

Militký,J.和M. Meloun。1993年。一些用于单变量探索性数据分析的图形辅助工具。 Analytica Chimica Acta 277:215-221。

Meloun,M.和J.Militký。1994年。分析化学计量学中的计算机辅助数据处理。I.对单变量数据的探索性分析。 化学论文 48:151-157。

编辑2:

这些线索的主要目的不仅在于回答眼前的问题,而且还涉及可能使其他人感兴趣的紧密相似的问题。

其他答案中的一些其他图形设计在此处显示标识符,在没有其他详细信息的情况下,标识符不可知地标记为1 ... 14。假设这些和其他标识符在解释中使用,显示它们的一个简单设计是(克利夫兰)点图。这是几种可能性中的两种,其中按字面意义遵循标识符顺序(左),并对值进行排序(右)。如果需要,有足够的空间放置更长的标签。

与条形图相比,此设计的一个优点是,如果看起来更好,那么响应或结果轴的起始值可能不为零。

旋转图表使响应轴垂直也很容易想象。

在此处输入图片说明


(+1)我有时会看到点图或带状图,特别是垂直放置时,“堆叠”点居中对齐而不是左对齐(即,如果有三个堆叠点,则中间点将与未堆叠的积分)。这给出了一条对称线,在美学上令人愉悦,但我不确定它在实际中有多大好处。也许可以更轻松地叠加一个盒子。您知道这个名字吗?是否有任何建议可以避免/采用它?
Silverfish

1
另外,您是否有机会为Parzen提供参考?我一直喜欢这些情节,但从未真正阅读过它们的正确参考。
Silverfish

@Silverfish居中(居中)的变体当然很流行并且经常被讨论。正如您所提到的,小问题似乎是对对称性的渴望,而不是类似于直方图样式的设计,我倾向于稍微喜欢它,但这是一种品味和环境的问题。我添加了交叉引用,反过来也欢迎其他人。
Nick Cox

3

@Nick Cox已经给出了一些很好的例子,我经常使用的其他两个选项是带有点叠加或略微抖动的箱形图,

在此处输入图片说明

在此处输入图片说明

带R代码

times<-c(5.2,3.9,5.6,4.2,3.8,4.1,6.0,5.6,4.4,4.5,4.9,4.5,4.9,4.2)
boxplot(times)
points(rep(1,length(times)),times,cex = 3, pch = 'x')

boxplot(times)
points(jitter(rep(1,length(times)),amount = 0.1),times,cex = 3, pch = 'x')

编辑:如果您愿意,也可以使用小提琴图

ggplot(data.frame(times), aes(x = rep(0,length(times)), y = times)) + geom_violin() + geom_jitter()

在此处输入图片说明


1
非常感谢您的答复。由于样本的大小,我最初不愿在分析中使用箱形图。但是看完不同的教科书后,我的样本量似乎足够了。
Eamonn

1

您的问题使我想起了本博文中介绍的技术。关于离散事件的可视化。

核心技巧是绘制the time before an eventx the time after an event

您的数据可视化[1]

这可能是偶然的,但是到顶部中间区域不包含任何数据。所以有一些可见的结构。


快速而肮脏的R代码。

data <- c(5.2,3.9,5.6,4.2,3.8,4.1,6.0,5.6,4.4,4.5,4.9,4.5,4.9,4.2)
x=data[1:12]
y=data[2:13]
plot(x,y, col="white", xlab="Time before an event", ylab="Time after an event"  )
for (i in 1:12) {
    text(x[i],y[i], i)
}

OP说过14次不同的时间。我读这意味着这些不是系列。如果它们是系列,那么您的想法肯定是相关的。
Nick Cox

你可能是对的。但是,即使它们不是序列,该图也会显示时间之间的依存关系。显然,轴标签是错误的。
Harald Thomson

2
只有OP可以确切说明数据是什么,但我认为该图不会以任何方式获胜。如果数据是分开的时间,那么除非给出值的顺序有意义,否则该图将毫无意义。
尼克·考克斯

fyi使用text矢量参数- text(x, y, 1:12)应该起作用。
MichaelChirico

1

另一个想法,因为您在浪费时间。

跑道图-具有极坐标的条形图-产生与秒表相同的效果:

赛马场

理想情况下,观察标签应叠加在横条上或至少叠加在另一端。现在,观看者在进行任何比较时要特别注意跟踪哪个观察值(向上/向下)。


2
我必须将其视为一种古怪的方法,实际上是坦率的完全不正确的图形技术。眼睛看不到均匀的弧长,而是看到的是这样要解码的区域,但是大脑必须干预并强调,只有旋转角度才有意义。甚至很难确切地知道哪个值小于,等于或大于另一个,这在任何可接受的图形样式中都是立即可用的。
尼克·考克斯

除非评级是针对不寻常的设计,否则我对这种设计唯一能看到的是标识符#1到#14在该设计中是直接的。我在编辑自己的答案时已经注意到了这一点。
尼克·考克斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.