MATLAB: How to count number of times a number appears in column B based on column A

countMATLABtable

Hi. I am wondering how I can make a table that shows how many times a number appears in a column based off another column.
For example,
If I have the dataset below.
Letters Coulmn B
A 1
B 2
A 2
A 1
C 1
D 3
I want to make an array or table that will have column that shows the following.
Letters Time #1 appears Time #2 appears Time #3 appears
A 2 1 0
B 0 1 0
C 1 0 0
D 1 0 1
Is this something that is possible? I can count the total, but am having trouble figuring out how to seperate based on criteria. The data is currently in a string array and a table. Thank you!

Best Answer

letters = 'ABAACD';
numbers = [1,2,2,1,1,3];
uniqueletters = unique(letters);
uniquenumbers = unique(numbers);
n = length(uniqueletters);
m = length(uniquenumbers);
R = zeros(n,m);
for i = 1:n
fprintf('%3s',uniqueletters(i))
for j = 1:m
R(i,j) = sum(letters == uniqueletters(i) & numbers == uniquenumbers(j));
fprintf('%3d',R(i,j));
end
fprintf('\n')
end