SAS 程序冷知識——Q1和Q3的計算原理

? ? ? ? ?一般人都會用sas算q1和q3格嗅,但很少有人知道sas在后臺是怎么算的。如果你到網(wǎng)上查尋q1和q3的算法,會發(fā)現(xiàn)sas的結(jié)果和手算的完全不一樣妓柜。因為sas程序是封閉的,所以我沒有查到具體算法涯穷,于是通過程序生成從1-1到1-1000的數(shù)據(jù)產(chǎn)生1000個q1和q3棍掐,再通過找規(guī)律的方法,逆推得到了sas的算法(逆推得到的算法最后說)拷况。

? ? ? ?我們計算q1和q3的sas程序是這段:proc univariate data=aaa;var a;run;

? ? ? ?為了快速生成1000個q1和q3作煌,需要用以下程序:

data _null_;

do i=1 to 1000;

call execute('

data aaa;

do a=1 to '||cats(i)||';

output;

end;

run;

proc univariate data=aaa noprint;

var a;

output out=data'||put(i,z4.)||' q1=q1 q2=q2 q3=q3;

run;

');

end;

run;

data all;

set data:;

if int(q2)=q2 and mod(int(q2),2)=1 then qm_1=(q2+1)/2;*中位數(shù)為奇數(shù),中位數(shù)算進去所以+1除2得第二個中位數(shù);

else if int(q2)=q2 then qm_1=(q2)/2;*中位數(shù)為偶數(shù)赚瘦,中位數(shù)不算進去所以先-1得下半部數(shù)字個數(shù)粟誓,然后+1除2得第二個中位數(shù);

else qm_1=(int(q2)+1)/2;*中位數(shù)為小數(shù),中位數(shù)不算進去所以先取整得下半部數(shù)字個數(shù)起意,然后+1除2得第二個中位數(shù);

if int(q2)=q2 and mod(int(q2),2)=1 then qm_3=q2-1+qm_1;*中位數(shù)為奇數(shù)鹰服,中位數(shù)算進去所以-1退歸0位,然后加Q1;

else if int(q2)=q2 then qm_3=q2+qm_1;*中位數(shù)為偶數(shù),中位數(shù)不算進去悲酷,因此中位數(shù)處于0位套菜,直接加Q1;

else qm_3=int(q2)+qm_1;*中位數(shù)為小數(shù),中位數(shù)不算進去设易,因此中位數(shù)取整退歸0位逗柴,加Q1;

q_3=qm_3=q3;

q_1=qm_1=q1;

run;

proc print;run;

? ? ? ? ? ?通過q_3和q_1,我們可以判斷生成結(jié)果是否與univariate的結(jié)果相同亡嫌。根據(jù)生成的記過逆向推導嚎于,q1和q3的計算方法如下:

1、當整體數(shù)據(jù)中位數(shù)的秩次為奇數(shù)時:先求完整體的中位數(shù)挟冠,然后繼續(xù)對上下兩部分數(shù)據(jù)再各自求中位數(shù)于购,上下兩部分數(shù)據(jù)均要包含整體中位數(shù)本身。此時這兩個中位數(shù)依然是各自數(shù)據(jù)的一部分知染,都不需要通過平均數(shù)來計算肋僧。這兩個中位數(shù)就是q1和q3。

舉例來說:1控淡,3嫌吠,8,13掺炭,24辫诅,34,42涧狮,58炕矮,67

中位數(shù)為24,他的秩次是5為奇數(shù)者冤。故對上下兩部分分別求中位數(shù)肤视。

上半部(此時包含中位數(shù)24):1,3涉枫,8邢滑,13,24

下半部(此時包含中位數(shù)24):24愿汰,34困后,42,58尼桶,67

再次計算中位數(shù)可得操灿,Q1=8,Q3=42

2泵督、當整體數(shù)據(jù)中位數(shù)的秩次為偶數(shù)或者為小數(shù)時:計算和前面相同趾盐,唯一的區(qū)別是再次計算時要排除中位數(shù)。

舉例來說:1,3救鲤,8久窟,13,24本缠,34斥扛,42

中位數(shù)為13,他的秩次是4為偶數(shù)丹锹。故對上下兩部分分別求中位數(shù)稀颁。

上半部(此時排除中位數(shù)24):1,3楣黍,8

下半部(此時排除中位數(shù)24):24匾灶,34,42

再次計算中位數(shù)可得租漂,Q1=3阶女,Q3=34

接下來再舉一個中位數(shù)的秩次為小數(shù)的例子:1,3哩治,8秃踩,13,24业筏,34憔杨,42,58

中位數(shù)為13和24的均值18.5蒜胖,他的秩次是4.5為小數(shù)芍秆。故對上下兩部分分別求中位數(shù)。

上半部(此時排除中位數(shù)24):1翠勉,3,8霉颠,13

下半部(此時排除中位數(shù)24):24对碌,34,42 蒿偎,58

再次計算中位數(shù)可得朽们,Q1=5.5,Q3=38

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诉位,一起剝皮案震驚了整個濱河市骑脱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌苍糠,老刑警劉巖叁丧,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡拥娄,警方通過查閱死者的電腦和手機蚊锹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來稚瘾,“玉大人牡昆,你說我怎么就攤上這事√罚” “怎么了丢烘?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長些椒。 經(jīng)常有香客問我播瞳,道長,這世上最難降的妖魔是什么摊沉? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任狐史,我火速辦了婚禮,結(jié)果婚禮上说墨,老公的妹妹穿的比我還像新娘骏全。我一直安慰自己,他們只是感情好尼斧,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布姜贡。 她就那樣靜靜地躺著,像睡著了一般棺棵。 火紅的嫁衣襯著肌膚如雪楼咳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天烛恤,我揣著相機與錄音母怜,去河邊找鬼。 笑死缚柏,一個胖子當著我的面吹牛苹熏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播币喧,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼轨域,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了杀餐?” 一聲冷哼從身側(cè)響起干发,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎史翘,沒想到半個月后枉长,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冀续,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年搀暑,在試婚紗的時候發(fā)現(xiàn)自己被綠了沥阳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡自点,死狀恐怖桐罕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情桂敛,我是刑警寧澤功炮,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站术唬,受9級特大地震影響薪伏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜粗仓,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一嫁怀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧借浊,春花似錦塘淑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至曙蒸,卻和暖如春捌治,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纽窟。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工肖油, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人臂港。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓构韵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親趋艘。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容