Add missing rows to the table without loop

6 visualizaciones (últimos 30 días)
Zeynab Mousavikhamene
Zeynab Mousavikhamene el 29 de Oct. de 2019
Respondida: Akira Agata el 30 de Oct. de 2019
Attached is the table that I need to add missing rows to it. As you can see there is radius 25 and 33. I need to add radii from 0 to 35 and for radii other than 25 and 33 I want all columns (except radius) to be zero. I need it to be general because 25 adn 33 are not fixed and for the next batch other radii might be nonzero. I need to check radii from 0 to 35 and if they are not existing in the table, add radius to this table and make the zero columns for the rest.
Here is what I have now:
Capture.JPG
and I need to be like this:
Picture2.jpg
  2 comentarios
Walter Roberson
Walter Roberson el 29 de Oct. de 2019
I seen an entry at 34 but not at 33 ??
Zeynab Mousavikhamene
Zeynab Mousavikhamene el 29 de Oct. de 2019
@Walter Roberson sorry I meant row 33. I made the second table in excel and content of row 34 should be at row 33.

Iniciar sesión para comentar.

Respuesta aceptada

Akira Agata
Akira Agata el 30 de Oct. de 2019
Like this?
% Original table
Tbefore = array2table([0 25 12 12 0.08; 0 33 1 1 0.0051],...
'VariableNames',{'time','radius','GroupCount','sum_cell_count','perhexagon'});
% Create output table (all element = 0)
maxRadius = 35;
Tafter = array2table(zeros(maxRadius+1,5),...
'VariableNames',{'time','radius','GroupCount','sum_cell_count','perhexagon'});
Tafter.radius = (0:maxRadius)';
% Find corresponding rows in Tafter for each Tbefore's row
[~,loc] = ismember(Tbefore.radius, Tafter.radius);
% Allocate each Tbefore's row to appropriate position in Tafter
Tafter(loc,:) = Tbefore;

Más respuestas (0)

Categorías

Más información sobre Tables en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by