Re: [問題] sas算平均

看板Statistics作者 (囧)時間12年前 (2013/04/14 15:54), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《mono1023 (阿沛)》之銘言: : 我的資料格式如下 : a b : 1 0 : 1 0 : 1 1 : 2 1 : 2 0 : 2 1 : a是id b是數值 : 我想要各自計算a為1時的平均值以及2時的平均值 : 最後再加總起來計算幾何平均值 ↑看不太懂這句話的意思... : 請問該如何寫程式碼? : 我只會proc means : var b : by a : 但好像只能算各自的 : 新手先謝謝大家!!! data test; input a b @@; cards; 1 0 1 0 1 1 2 1 2 0 2 1 ; run; proc means data=test;class a;var b;output out=avg1 mean=avg; run; data avg1; set avg1; where a <> .; ln_b=log(avg); run; proc means data=avg1; output out=avg2 mean=avg; var ln_b; run; data gmean; set avg2; gmean=exp(avg); run; proc print data=gmean; run; 如果不對a分層,直接算b的幾何平均, 會遇到一個問題是.... 因為b有至少一個數字是0, 先取log,取算術平均再anti-log的做法會出問題。 (log0無法定義) 先算連乘再開n次根號也是做得出來, 可是很沒有意義(明明就知道答案是零了,還寫那麼多程式= =) 所以我猜你要問的是a=1時b的算術平均和a=2時b的算術平均的幾何平均? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.11.196

04/14 16:18, , 1F
阿 對= = 是算數平均和 我打錯了!!! 然後再把各個
04/14 16:18, 1F

04/14 16:19, , 2F
個小群組資料加總算出整體的算數平均數
04/14 16:19, 2F

04/14 16:20, , 3F
都是只要算數平均 不用幾何 對不起QQ
04/14 16:20, 3F
文章代碼(AID): #1HQc2SFi (Statistics)
討論串 (同標題文章)
文章代碼(AID): #1HQc2SFi (Statistics)