Weighted mean by groups
이전 댓글 표시
I am trying to get the weighted mean of values by group id but I don't undersnatnd why my ouput (Mean) is a matrix and not a vector.
id = { 'a'; 'a'; 'b'; 'b'; 'c'; 'c'};
values = [1;2;3;4;5;6];
weights = [0.5;0.7;0.3;0.4;0.5;0.1];
exampletable = table(id, weights, values);
G = findgroups(exampletable.id);
wmean = @(w,v)w'.*mean(v);
Mean = splitapply(wmean, exampletable.weights, exampletable.values, G)
id = { 'a'; 'a'; 'b'; 'b'; 'c'; 'c'};
values = [1;2;3;4;5;6];
weights = [0.5;0.7;0.3;0.4;0.5;0.1];
exampletable = table(id, weights, values);
G = findgroups(exampletable.id);
wmean = @(w,v)w'.*mean(v);
Mean = splitapply(wmean, exampletable.weights, exampletable.values, G)
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Descriptive Statistics and Visualization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!