2017-05-09 49 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)