1

我有一个数据集,其中的数字在某些方面表示每日差异。

https://dl.dropbox.com/u/22681355/diff.csv

我想创建一个差异分布图,特别强调罕见的大变化。

我尝试使用 hist() 函数绘制每一列,但它并没有真正提供数据的详细图片。

例如,绘制数据集的第一列会产生以下图:

https://dl.dropbox.com/u/22681355/Rplot.pdf

我的问题是,这对罕见的大偏差提供了很少的细节。

最简单的方法是什么?

还有关于如何在表格中总结这些数据的任何建议?例如,除了显示最小值、最大值和平均值之外,您还会查看分位数吗?还有其他想法吗?

4

3 回答 3

2

您可以使用箱线图来可视化数据的分布:

sdiff <- read.csv("https://dl.dropbox.com/u/22681355/diff.csv")

boxplot(sdiff[,-1])

异常值打印为圆圈。

在此处输入图像描述

于 2012-10-24T15:19:08.100 回答
2

我支持@Sven 关于识别异常值的建议,但您可以通过指定一组比hist默认设置更密集的断点来在直方图中获得更多细化。

d <- read.csv('https://dl.dropbox.com/u/22681355/diff.csv', header=TRUE, row.names=1)
with(d, hist(a, breaks=seq(min(a), max(a), length.out=100)))

在此处输入图像描述

于 2012-10-24T15:25:54.270 回答
1

小提琴图可能有用:

df <- read.csv('https://dl.dropbox.com/u/22681355/diff.csv')
library(vioplot)
with(df,vioplot(a,b,c,d,e,f,g,h,i,j))

小提琴情节

我会在转换后的数据上使用箱线图,例如:

boxplot(df[,-1]/sqrt(abs(df[,-1])))

箱线图(数据转换)

显然,直方图在转换后也会更好看。

于 2012-10-24T15:26:33.877 回答