Replacing 1 table cell value with a corresponding table cell value
    8 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Matt Brianik
 el 18 de En. de 2018
  
    
    
    
    
    Comentada: Matt Brianik
 el 18 de En. de 2018
            I have a table of text characters of length M x N and a corresponding table of the same dimensions. in table 1, i want to replace all cells that contain a 'PXY7' with the corresponding value in Table 2.
For example if cell (A3,B5) in table 1 = 'PXY7' how do i replace this value with table 2's (A3,B5) value?
0 comentarios
Respuesta aceptada
  Joel Miller
      
 el 18 de En. de 2018
        This may not be the fastest method, but it works (I've replaced "PXY7' with 's'):
B1={'a';'s';'b'};
B2={'b';'s';'a'};
B3={'s';'a';'b'};
B4={'a';'b';'s'};
B5={'b';'a';'s'};
Table1=table(B1,B2,B3,B4,B5,'rownames',{'A1';'A2';'A3'});
D1={'1';'3';'2'};
D2={'3';'1';'2'};
D3={'1';'2';'3'};
D4={'3';'2';'1'};
D5={'3';'1';'2'};
Table2=table(D1,D2,D3,D4,D5,'rownames',{'C1';'C2';'C3'});
T1vars=Table1.Properties.VariableNames;
T2vars=Table2.Properties.VariableNames;
for k=1:length(T1vars)
    T1index=ismember(Table1.(T1vars{k}),'s'); 
    Table1.(T1vars{k})(T1index)=Table2.(T2vars{k})(T1index);
end
3 comentarios
  Joel Miller
      
 el 18 de En. de 2018
				It is difficult to know where the problem lies, not knowing what IDX_IND is. Would you write IDX_IND out explicitly?
Más respuestas (1)
Ver también
Categorías
				Más información sobre Tables en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

