How to organize a table?

1 次查看(过去 30 天)
I have a table around 700 rows and 7 columns. The second column is time. I have 5 different times. The last column is "cell type" which is an integer from 0 to 4. I need to know that at time=0 how many "cell type=3" exists? how many "cell type=4" exists? and do this for all times.
Is varfun appicable in this case?
Thanks Capture.JPG
  3 个评论
Zeynab Mousavikhamene
编辑:Zeynab Mousavikhamene 2019-8-16
@madhan ravi: I added a photo. If you track my question, I have added data to some of my questions.
Andrei Bobrov
Andrei Bobrov 2019-8-16
Please read about varfun.

请先登录,再进行评论。

采纳的回答

Jon
Jon 2019-8-16
编辑:Jon 2019-8-16
You could do this with a simple loop I'll assume your table is called mytable
% find maximum possible value for cell type
cellTypeMax = max(mytable.cell_type)
% find the row numbers of all the rows with time = 0
irow = mytable.time == 0
% loop through the rows at time zero counting number of each occurence
count = zeros(cellTypeMax,1); % preallocate
for k = 1:cellTypeMax
count(k) = sum(mytable.cell_type(irow)==k)
end
You could also get fancier and eliminate the loop using histcounts (or histc in earlier versions)
% find maximum possible value for cell type
cellTypeMax = max(mytable.cell_type)
% find the row numbers of all the rows with time = 0
irow = mytable.time == 0
% define bin edges assume that cell types start at 1
edges = [0.5:1:cellTypeMax+1];
% count occurences within rows that are at time zero
count = histcounts(mytable.cell_type(irow),edges)

更多回答(2 个)

Zeynab Mousavikhamene
I used celltracker_group = varfun(@mean,celltracker,'GroupingVariables',{'time','cell_type'});
and it worked perfectly. It produces GroupCount which is exactly what I want.

Andrei Bobrov
Andrei Bobrov 2019-8-16
编辑:Andrei Bobrov 2019-8-16
T = readtable('img1.txt');
out = varfun(@sum,T,'GroupingVariables',...
{'time','cell_type'},'InputVariables','cell_type');
out = out(:,1:end-1);
or
[A,out] = findgroups(T(:,{'time','cell_type'}));
out.counts = accumarray(A,1);

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by