2012-10-24 68 views
1

我有一個數據集,其中包含一些數字,用於指示每日差異。繪製R中差異的分佈

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

我想創造特別強調了罕見的大變化差異分佈圖。

我嘗試使用hist()函數繪製每列,但它並不真正提供數據的詳細圖片。

例如繪製數據集的第一列生成以下圖形:

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

我的問題是,這給人非常小細節的罕見大的偏差。

這樣做最簡單的方法是什麼?

還有關於如何在表中總結這些數據的任何建議?例如,除了顯示最小值,最大值和平均值之外,你會看分位數嗎?任何其他想法?

+0

我不確定你在問什麼。讓這個問題更具體的一種方法是張貼你已經做出的一些情節,並解釋你不喜歡他們的是什麼。 –

+0

+1只是因爲您提供了數據。 – Roland

回答

2

你可以使用boxplots可視化數據的分佈:

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

boxplot(sdiff[,-1]) 

離羣打印爲界。

enter image description here

2

我回來@斯文的建議識別異常值,但你可以通過指定一個密集的設置斷點的比得到的會在你的直方圖更細化什麼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))) 

enter image description here

+0

任何繪製直方圖的方法都與boxplot示例中的所有10列一樣? – user1723765

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)) 

violin plots

我會用變換數據的箱線圖,例如:

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

boxplot (data transformed)

很明顯,轉換後直方圖看起來也會更好。