我有一个数据集,数字表示某些指标的日常差异。
https://dl.dropbox.com/u/22681355/diff.csv
我想创建一个差异分布图,特别强调罕见的大变化。
我尝试使用hist()函数绘制每个列,但它并没有真正提供数据的详细图片。
例如,绘制数据集的第一列会生成以下图:
https://dl.dropbox.com/u/22681355/Rplot.pdf
我的问题是,这给不常见的大偏差提供了很少的细节。
最简单的方法是什么?
还有关于如何在表格中汇总这些数据的任何建议吗?例如,除了显示最小值,最大值和平均值之外,你会看看分位数吗?还有其他想法吗?
答案 0 :(得分:2)
您可以使用boxplots来查看数据的分布:
sdiff <- read.csv("https://dl.dropbox.com/u/22681355/diff.csv")
boxplot(sdiff[,-1])
异常值打印为圆圈。
答案 1 :(得分: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)))
答案 2 :(得分:1)
Violin plots可能有用:
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])))
显然,直方图在转换后看起来也会更好。