changeset 32:731832de7c54

Merge branch 'develop’ - MASSEFresults: Further fix to correct output when using aggregating functions.
author Christopher Hummersone <c.hummersone@surrey.ac.uk>
date Wed, 29 Mar 2017 22:25:43 +0100
parents b98f92674cbc (current diff) a02a9561febf (diff)
children 01e89332e23e
files
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/MASSEFresults.m	Wed Mar 29 13:31:35 2017 +0100
+++ b/MASSEFresults.m	Wed Mar 29 22:25:43 2017 +0100
@@ -360,14 +360,18 @@
                 try
                     filteredTable = varfun(fhandle,dataTable,'InputVariables','value',...
                         'GroupingVariables',group);
+                    keys = group;
                 catch
                     filteredTable = varfun(fhandle,dataTable,'InputVariables','value',...
                         'GroupingVariables',altgroup);
+                    keys = altgroup;
                 end
                 % rename value column and delete GroupCount column
                 filteredTable = obj.findRenameVar(filteredTable,'value','value');
                 filteredTable.GroupCount = [];
-                dataTable = join(filteredTable, dataTable);
+                [~, ia, ib] = intersect(filteredTable(:,keys), dataTable(:,keys));
+                dataTable.value(ib) = filteredTable.value(ia);
+                dataTable = dataTable(ib, :);
             else
                 % normal filter function
                 dataTable = obj.filterRows(dataTable,filterval,col);