作者punchdrunk (小學生都比我有錢)
看板NCCU08_SOCIO
標題Re: 大家來討論統計作業吧...
時間Thu Oct 23 06:59:01 2008
%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