Azzera filtri
Azzera filtri

How do i count unique elements in two table columns?

5 visualizzazioni (ultimi 30 giorni)
Dear all;
for the following table:which include student name, class and school name ..
std_name class School
A1 1 Art
A2 1 Art
A3 1 Muc
A4 2 muc
A5 3 Art
A6 2 fun
A7 3 fun
A8 4 Muc
...
i need to count : - how many student in every class, then write new table includes the following result as example: class number and how many student in every class, then names of schools... as shown below:
class No. of std School
1 50 Art, Muc
2 30 muc, fun
3 10 Art, fun
4 100 muc
etc..
-

Risposta accettata

Guillaume
Guillaume il 9 Giu 2017
Modificato: Guillaume il 9 Giu 2017
Simpler, using rowfun which did exist in R2015a:
out = rowfun(@(school) {strjoin(unique(school), ', ')}, A, ...
'GroupingVariables', 'class', 'InputVariables', 'School')

Più risposte (1)

Andrei Bobrov
Andrei Bobrov il 9 Giu 2017
Modificato: Andrei Bobrov il 9 Giu 2017
A = readtable('A.csv');
A.Properties.VariableNames = {'std_name','class','School'};
[g,ii] = findgroups(A.class);
out = table(ii,accumarray(g,1),splitapply(@(x){strjoin(unique(x),',')},A.School,g),...
'var',{'class','No_of_std','School' });
  5 Commenti
Guillaume
Guillaume il 9 Giu 2017
Modificato: Guillaume il 9 Giu 2017
You download R2015b like you download any other releases, directly from the mathworks site:
But if you're going to upgrade, you'd be better off moving to the latest version: 2017a
ahmed obaid
ahmed obaid il 9 Giu 2017
Perhaps ... modified code to earlier version.. upgrades is not available currently.. thanks

Accedi per commentare.

Categorie

Scopri di più su MATLAB Report Generator in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by