Determine identical value of a column
조회 수: 1 (최근 30일)
이전 댓글 표시
Supposed i have this table, values in row 2 and row 3 in column1 are identical, same also at row 6 and row 7. Is there a way I can determine those values and add and store the values and then remove one identical value?
11 0.9
8 0.3
8 0.7
6 0.2
5 2.3
3 4.6
3 6.1
0 8.7
the output table would look like this
11 0.9
8 0.10
6 0.2
5 2.3
3 10.7
0 8.7
채택된 답변
KL
2017년 10월 18일
편집: KL
2017년 10월 18일
data = [11 0.9
8 0.3
8 0.7
6 0.2
5 2.3
3 4.6
3 6.1
0 8.7];
grps = findgroups(data(:,1)); %find groups here
grp_sum = splitapply(@sum,data(:,2),grps); %apply sum on these groups
res = [unique(data(:,1)) grp_sum] %summarize the result
note that the resultant array is sorted and also you'd need 2015b or later.
For older versions, use a table maybe,
t = array2table(data);
g = varfun(@sum, t, 'GroupingVariable','data1')
댓글 수: 4
KL
2017년 10월 18일
Probably you will have to superimpose it with a cellfun in that case. I'd prefer a table for such data manipulation.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Numeric Types에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!