分析我的数据时遇到一些问题: 假设有一个矩阵
year month flow
72 1 34
72 1 43
72 1 55
72 1 34
72 1 43
72 1 55
72 1 34
72 1 43
72 1 55
72 1 34
72 1 43
72 1 55
72 1 34
72 1 43
72 1 55
72 1 34
72 1 43
72 1 55
72 2 34
72 2 43
72 2 55
现在我想取平均值开始10个值而不是接下来的10个值,依此类推。在这。基本上我想取每个月10天的流量值的平均值,例如从1,1972年1月到7月7日,第72行(第10行)和11月19日至1972年1月20日,我尝试了
[unX,~,subs] = unique(D(:,1:2),'rows');
out = [unX accumarray(subs,D(:,3),[],@nanmean)];
但由于它给出了整个jan的平均值(第2列中的1个值),我想仅在前十天使用它然后依次使用
任何帮助将不胜感激。
答案 0 :(得分:1)
您可以使用自定义功能替换nanmean
>> out = [unX accumarray(subs,D(:,3),[],@(x) nanmean( x(1:10) ) )];