作者bear32147 (dogbear)
看板MATLAB
標題[問題] mean var 計算 (sumif)
時間Mon Aug 6 17:24:44 2012
請問 我要計算平均值、變異數
但手上資料有缺測資料(數值為0),要跳過0去計算平均值、標準差
(如同 excel的 sumif averageif語法)
mon矩陣如下
1月 1 0 3
2月 2 1 0
3月 0 1 5
我要計算1月的月平均,如果用 mean(mon,2),就會變成 1.333
而我要的是 4/2=2
我目前想到是寫迴圈,把[1 0 3] 取出來去計算
for i=1:3
ans(i,1)=mean(mon((mon>0),2)
end
有更好的方法嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.190.65
→ prouno:硬是不想用for迴圈的話... 把0設為NaN 再用nanmean 08/06 20:43
→ mp19990920:sum(mon, 2)./sum(mon~=0, 2) 08/06 23:53
→ bear32147:我明天試試看 謝謝兩位 08/07 02:41