看板 NCCU08_SOCIO 關於我們 聯絡資訊
%macro work1(work); %do i=1 %to &work; %let k=1500; data all; set hs01a hs02a hs03a hs04a hs05a hs06a hs07a hs08a hs09a hs10a hs11a hs12a hs13a hs14a hs15a hs16a hs17a hs18a hs19a hs20a hs21a hs63a hs64a hs71a hs72a ; random=ranuni(0); run; PROC SORT DATA=all; BY random; run; DATA work2; SET all (DROP=RANDOM); IF _N_ LE &K; RUN; 上面這個好像是在做抽樣的動作吧?! proc means noprint; output out=mean&i mean=mean; var age; run; %end; %mend; %work1(100000); 這個是在做十萬次的平均數,值得注意的是out=mean&i地方! data qq; %macro merge; set %do i = 1 %to 100000; mean&i %end; %mend; %merge; 這個地方是在將mean1到mean100000合併到qq裡面。 proc gchart data=qq; var mean; run; proc means data=qq; run; 最後是畫圖和求平均。 這應該是可以跑的,雖然我沒有實際run十萬次, 我跑一千次就花了五分鐘,也就是十萬次要花五百分鐘, 老師上次開應該沒有開九小時吧?!我覺得很多地方都可以在簡化的樣子! 但其實我還有個小問題想問大家, 就是畫圖的時候,如何調X軸的組數阿? 都跑了一千筆了,但它都只給顯十幾組,看起來都好鬆散,實在不夠大器!!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.25.185
YellowPirate:我在跑了.現在開始跑,大概10點可以跑完 10/23 14:48
skykissx:最後那邊是不是該做QQ的 proc freq 10/23 18:51
punchdrunk:為什麼要跑FREQ阿? 10/23 21:23
skykissx:潘和我講的 10/23 23:01
YellowPirate:如果再多跑FREQ會爆炸喔,會跑更久阿 10/23 23:12
YellowPirate:說不定破12小時 10/23 23:12
YellowPirate:而且硬碟要夠大吧,你要把十萬次的FREQ跑出來耶 10/23 23:13
punchdrunk:應該是不用跑吧 means裡面就有顯示了 10/23 23:28
skykissx:為什麼我跑的之後他說找不到means阿 10/23 23:32
skykissx:ERROR: File WORK.MEAN90527.DATA does not exist. 10/23 23:33
skykissx:ERROR: Variable MEAN not found. 10/23 23:33
punchdrunk:你是這上面打的嗎? 這雖然很慢但應該是可以RUN的吧 10/23 23:40
skykissx:我是按照上面打的阿 我是先用一千筆 我再試一次看看好了 10/23 23:42