Count the number of occurrences of elements in second column
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Colby
am 29 Sep. 2015
Bearbeitet: Colby
am 29 Sep. 2015
Hello, I'd like to know the number of unique entries, per unique entry in second column. For example, how could I return the number of unique activities per day.
Thanks so much for your time and help!
Activities = {'run', 'monday'; 'run', 'monday'; 'eat', 'monday'; 'TV', 'tuesday'; 'run','wednesday'; 'eat', 'wednesday'}
So in this example, I'd like the total number of unique actives, per day. So my desired result would look like "Result".
Result = [2;2;2;1;2;2]
0 Kommentare
Akzeptierte Antwort
Andrei Bobrov
am 29 Sep. 2015
[~,~,a]=unique(Activities(:,2));
b = histc(a,1:a(end));
Result = b(a);
2 Kommentare
WAT
am 29 Sep. 2015
Assuming I'm reading the code right, it won't distinguish between a repeated activity on the same day. So 2 entries of a "walk" on "Monday" would get counted as 2, rather than a 1.
Weitere Antworten (1)
WAT
am 29 Sep. 2015
Try something like
[uniqNames, ia, ic] = unique(Activities(:,2)); % find unique days
ia = [ia; 1+length(ic)];
Result = zeros(length(uniqNames)); % initialize output
for i=1:length(uniqNames) % loop through days
day = Activites( ia(i):ia(i+1), : ); % get all entries for that day
Result(i) = length(unique(day(:,1))); % count unique activities per day
end
0 Kommentare
Siehe auch
Kategorien
Mehr zu Dates and Time finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!