作者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
1F:→ prouno:硬是不想用for回圈的话... 把0设为NaN 再用nanmean 08/06 20:43
2F:→ mp19990920:sum(mon, 2)./sum(mon~=0, 2) 08/06 23:53
3F:→ bear32147:我明天试试看 谢谢两位 08/07 02:41