lucky
如果您是强人,我们可以探讨一下啊!我的联系方式是QQ:514018
abel
lucky想用Excel(VBA)做什么呢?
我觉得熟悉VBA只需要靠记忆就可以了,把Excel组件对象模型熟悉就成了。
lucky
我用来编一个分为数的自定义公式
lucky
[quote]引用第1楼abel于2007-04-10 13:19发表的“”:
lucky想用Excel(VBA)做什么呢?
我觉得熟悉VBA只需要靠记忆就可以了,把Excel组件对象模型熟悉就成了。[/quote]
您会吗?我可以把算法说出来,但是我不会那个语言。
yihui
用VBA编分位数……不会是闲得发慌了吧……真的没有必要,lucky同志
低级方法:对一个数组循环一编,找出分位处的数字即可。
“高级方法”:调用内在函数直接求。
另:VBA实在是太不适合做统计,强烈不建议用它编程序。
lucky
[quote]引用第4楼谢益辉于2007-04-10 22:36发表的“”:
用VBA编分位数……不会是闲得发慌了吧……真的没有必要,lucky同志
低级方法:对一个数组循环一编,找出分位处的数字即可。
“高级方法”:调用内在函数直接求。
.......[/quote]
我这么做是有理由的:(1)excel中的公式计算出来的结果是错误的!(2)我的数据量比较大,如果现排序后再查找的话很费时。
lucky
关于这个错误,有时间你可以试试,很容易检验出来的,你就用1-7这7个数然后用那个公式就可以,麻烦发现是错误的。
yihui
[quote]引用第5楼lucky于2007-04-11 09:01发表的“”:
我这么做是有理由的:(1)excel中的公式计算出来的结果是错误的!(2)我的数据量比较大,如果现排序后再查找的话很费时。[/quote]
所以我一向极其反对在Excel中做任何与统计有关的事情,在我看来,Excel唯一能用的功能就是画画条形图、饼图之类图形,万万不要拿它来做认真的计算。既然Excel不适合做计算,就更不必提VBA了。
你说有错是指PERCENTILE函数么?还是QUANTILE?怎么操作的能否说明一下,我没发现有错啊(尽管我反对使用Excel,但是也不能冤枉人家)
lucky
很简单,在A1:A7分别输入1-7,然后用QUANTILE(A1:A7,1)=2.5,而实际上应该是2才对。
lucky
我可不想冤枉好人
yihui
看来你确实冤枉人家了,1:7的下四分位数就是2.5
中位数毫无疑问是4对吧?1与4中间的数字就是下四分位数,那么当然是2.5;Excel虽然笨了点,也不至于7个数字都能算出错来:)
lucky
书上是不是写的是(n+1)/4,现在N=7,那么下四分位数的位置应该是在(7+1)/4=2,也就是第二个,那么数一数不就是2吗?有错吗?
cran
[quote]引用第3楼lucky于2007-04-10 20:41发表的“”:
您会吗?我可以把算法说出来,但是我不会那个语言。[/quote]
老实说,我觉得VBA得语言是最简单的,比java,c++等等简单多了。
lucky
[quote]引用第11楼lucky于2007-04-12 09:09发表的“”:
书上是不是写的是(n+1)/4,现在N=7,那么下四分位数的位置应该是在(7+1)/4=2,也就是第二个,那么数一数不就是2吗?有错吗?[/quote]
我这个结果对吗?
yihui
[quote]引用第11楼lucky于2007-04-12 09:09发表的“”:
书上是不是写的是(n+1)/4,现在N=7,那么下四分位数的位置应该是在(7+1)/4=2,也就是第二个,那么数一数不就是2吗?有错吗?[/quote]
我认为某些权威的统计学基础教材在四分位数的定义上是不恰当的。下四分位的位置在[(n+1)/2 + 1]/2,而不是(n+1)/4
yihui
[quote]引用第13楼lucky于2007-04-12 17:20发表的“”:
我这个结果对吗?[/quote]
结果不对。下四分位数就是2.5
lucky
[quote]引用第14楼谢益辉于2007-04-12 19:13发表的“”:
我认为某些权威的统计学基础教材在四分位数的定义上是不恰当的。下四分位的位置在[(n+1)/2 + 1]/2,而不是(n+1)/4[/quote]
不是吧!这个公式可是你们贾老师出的书里边的公式啊!要不你回去翻翻书,是那本《统计学》,已经出了两版了,都一直是那个公式的啊!如果不对,这玩笑可开大了!
yihui
我知道贾老师的书中是这么写的,但是我坚定地认为他采用的定义方式是不合适的。
举个例子吧,扳着指头数数,1 2 3 4 5五个数字,最大最小分别是5和1,中位数是(n+1)/2=3处的数字也就是3,至于四分位数,你觉得2和4合适呢,还是1.5和4.5合适?
另外,今天你提出这么个基础问题,还真让我发现一件很搞笑的事情,你用这5个数字在SPSS中计算一下分位数,发现会是1.5和4.5,但是用SPSS的Boxplot作出来对应的却是2和4,我晕。而在Excel、R、Stata、Statistica中采用的分位数位置一律都是[(n+1)/2 + 1]/2和[(n+1)/2 + n]/2
汗,真是开了个大玩笑……我本科念书的时候在干嘛……
lucky
那这个问题应该怎么解决?起码要有一个标准才可以啊!否则我都没法计算了
lucky
[quote]引用第17楼谢益辉于2007-04-12 21:05发表的“”:
我知道贾老师的书中是这么写的,但是我坚定地认为他采用的定义方式是不合适的。
举个例子吧,扳着指头数数,1 2 3 4 5五个数字,最大最小分别是5和1,中位数是(n+1)/2=3处的数字也就是3,至于四分位数,你觉得2和4合适呢,还是1.5和4.5合适?
另外,今天你提出这么个基础问题,还真让我发现一件很搞笑的事情,你用这5个数字在SPSS中计算一下分位数,发现会是1.5和4.5,但是用SPSS的Boxplot作出来对应的却是2和4,我晕。而在Excel、R、Stata、Statistica中采用的分位数位置一律都是[(n+1)/2 + 1]/2和[(n+1)/2 + n]/2
.......[/quote]
这个问题可是一个大问题啊!