2017-05-09 64 views
0

我有一個數值列表呈指數增長。我被要求從他們那裏獲得多種變異係數。您可能會同意我的觀點,即CV僅適用於整個數字集合,並將該組數字劃分爲子組,並且爲每個子組計算CV似乎是不合理的。會不會有多個CV背後的統計思想,如果存在的話,CV是如何生成直方圖的,我的意思是歷史圖的bin是什麼。我欣賞提前變異係數?

回答

0

我同意你的答案 - 它沒有任何意義,我計算出多個CV爲一個數據集除非有一些推論的理由這樣做。

這就是說,實際上可能有考慮數據集的子組的原因。在統計領域,上下文就是一切。我的第一個想法是問你的同事他們爲什麼希望你這樣做。也許有一個很好的理由,也許他們沒有像你一樣掌握統計數據,無論如何,它應該是一個有啓發性的對話。

如果你決定走這條路,這裏的一些R代碼裏面,這可能有助於(R是偉大的 - 靈活,功能強大,而且免費)

# first, simulating some fake data (100 values of measurement & group for 10 groups) 
x <- rnorm(100, mean=10, sd=1) 
group <- sample(LETTERS[1:10], 100, replace=T) 

# first few values of each 
head(data.frame(x, group)) 
      x group 
1 10.778480  F 
2 9.274193  B 
3 9.639143  G 
4 9.080369  I 
5 10.727895  D 
6 10.850306  G 

# this is the part you'd actually need... 
# calculating the sd & avgs for each group 
sds <- tapply(x, group, sd) 
avgs <- tapply(x, group, mean) 

# then the cv 
cvs <- sds/avgs 

cvs 
     A   B   C   D   E   F   G   H   I   J 
0.07859528 0.07570556 0.09370247 0.12552468 0.08897856 0.11044543 0.10947615 0.10323379 0.08908262 0.09729945 

# and if you want a histogram, R makes it pretty easy 
hist(cvs)