Error in appliying split apply
7 views (last 30 days)
Show older comments
I have a problem using splitapply for function mean.
Error using splitapply (line 111)
For N groups, every integer between 1 and N must occur at least once in the vector of group numbers.
Error in try_31032019 (line 65)
LPInew = splitapply(@mean,LPI,bins_index);
G1 = findgroups(amax2);
bins_index = discretize(G1,amaxgrid);
LPInew = splitapply(@mean,LPI,bins_index);
CSR_new = splitapply(@mean,CSR,bins_index);
constN1_60_new = splitapply(@mean,N1_60,bins_index);
constFC_new = splitapply(@mean,Const,bins_index);
Is there any one can help me to solve my problem?
7 Comments
Akira Agata
on 26 Jun 2019
What you intended to do in your code is not clear for me. For example, I'm not sure how to fix the following 3 lines:
amaxgrid = linspace(0.19,0.42,36);
G1 = findgroups(amax);
bins_index = discretize(G1,amaxgrid);
Looking at your data file G1 should be integer 1~7, since amax consists of 7 different values. On the otherhand, amaxgrid becomes 1-by-36 double array between 0.19~0.42.
So I have no idea what you intended to do in the 3rd line. Could you tell us more details on what kind of calculation shall be done on your data?
Accepted Answer
Mil Shastri
on 12 Oct 2019
The group numbers provided to splitapply need to be every integer between 1 to N. For example:
This will work:
splitapply(@mean,1:5,[2,2,3,1,1])
and this will not because the group number 3 is missing:
splitapply(@mean,1:5,[2,2,4,1,1])
2 Comments
Christoper Angelo Malayan
on 10 Jan 2021
Is there a way for splitapply to SKIP this missing number and proceed to the next?
More Answers (0)
See Also
Categories
Find more on Data Preprocessing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!