中国卫生统计
    主页 > 期刊导读 >

百分位数的程序计算法

百分位数的程序计算法白金牛杜鹏飞。郑恩洋(包头医学院计算机教研室,包头0,包头市运管处。)中图分类号TP31l,1l文献标识码B文章编号1006--740X(2000)03--0186--02医学统计学中经常需要计算百分位数,如果用手工计算,运算量往往较大,特别在样本例数较多时,往往需手工排序或列频数表,特别烦琐,而且容易出错,—-般的软件包也不收稿日期:2000-04-25作者简介:白金牛(1967一/.男,内蒙古杭锦旗人,学士,讲师。具有此项功能,笔者用程序设计的方法,用很短的—-段程序就实现了此项功能,用同样的编程思想,也可利用其它的高级语言实现。下面笔者以FoxBase编程为例,介绍具体的实现方法,以期为卫生统计工作者提供一种计算百分位数的简便算法。第3期白金牛,等.百分位数的程序计算法1871建立数据库文件没数据库文件名为SJK.DBF,结构如下:Structure fOrdatabase:C:\J;()X\SJK.DBFFieldFieldNameTypeWid[hDec lSAMPLENumeric1029 xTotal将原始数据录人上面的库中3编程程序清单如下:CLEAALLSETTALKOFFUSESJKSORTTOS了KlONSAMPLE?USESJKlCOUNTTON@10,10SAY“输入百分位数时,以小数形式输入,如第95%位数输入0。95” lNPUT“请输入要计算的百分位数”TOPN1=INT(Px(N+1))N0二Px(N+1)M=N0一N1N2二INT(PxN+1)GUN1P0=SAMPlEGON2P1=SAMPLEPX=P0+(Pl—P0)xMPP=P x100@10,10SAY“所要求的第”@ROW(),COL()SAYPP@ROW(),COL()SAY’%百分位数为’@ROW(),COl()SAYPXSETTALKONRETU上面程序的主要思想是,首先求出样本例数N,算出百分位所在记录号(Nl,N2),P为从键盘输入的百分位数,程序找到百分位数所在记录号(Nl,N2),与确定百分位数所在组段方法类似,然后将变量值取出,赋给Po,P1,用直线内插法求出百分位数的精确值,最后显示出结果。由于程序的算法是按记录号查找百分位数的,所以不管例数多少都能计算。